Android PopupWindow显示在控件上方或者下方

项目中实现

主要代码如下

View view = mInflater.inflate(R.layout.layout_popupwindow, null);

PopUpwindowLayout popUpwindowLayout = (PopUpwindowLayout) view.findViewById(R.id.llayout_popupwindow);

popUpwindowLayout.initViews(mContext, titles, false);

final PopupWindow popupWindow = new PopupWindow(view, LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);

view.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);

int popupWidth = view.getMeasuredWidth();

int popupHeight = view.getMeasuredHeight();

int[] location = new int[2];

// 允许点击外部消失

popupWindow.setBackgroundDrawable(new BitmapDrawable());

popupWindow.setOutsideTouchable(true);

popupWindow.setFocusable(true);

// 获得位置

v.getLocationOnScreen(location);

popupWindow.setAnimationStyle(R.style.mypopwindow_anim_style);

popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, (location[0] + v.getWidth() / 2) - popupWidth / 2, location[1] - popupHeight);

附图片和Demo下载链接下载完成Demo点击打开链接

时间: 2024-10-02 05:34:26

Android PopupWindow显示在控件上方或者下方的相关文章

Android Popup Window 居于控件上方突出显示

public class TestPopupWindowActivity extends PopupWindow { Activity context; public TestPopupWindowActivity(Activity context, View v) { super(context); this.context = context; RelativeLayout mContentView = new RelativeLayout(context); RelativeLayout.

【android】让popupwindow显示在view的上方并与该view水平居中对齐

首先,废话少说,先上效果图: 代码: public class MainActivity extends Activity implements OnClickListener{ private Button showBtn1; private Button showBtn2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentV

Android PopupWindow显示位置和显示大小

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:bac

Android开发之基本控件和详解四种布局方式

Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方式Android和iOS还是区别挺大的,在iOS中有Frame绝对布局和AutoLayout相对布局.而在Android中的布局方式就比较丰富了,今天博客中会介绍四种常用的布局方式.先总结一下控件,然后再搞一搞基本方式,开发环境还是用的Mac下的Android Studio.开始今天的正题, 虽然A

Android中的基本控件(下,章节摘要)

1,如果用户在一个屏幕上添加了多个组件,则可以使用ScrollView进行包装实现滚动的效果,但是ScrollView组件只能对一个组件进行包装. 2,ListView可以实现数据的列表显示,可以通过SimpleAdapter类实现数据的封装. 3,对话框可以进行信息的提示,用户可以使用系统定义的对话框显示,也可以通过布局管理器定义自己的对话框显示布局. 4,AutoCompleteTextView组件可以实现随笔提示功能. 5,SeekBar可以进行拖动条的实现,用户可以使用OnSeekBar

Android界面编程——对话框控件(四)

Android界面编程--对话框控件 2.5对话框控件 对话框是提示用户作出决定或输入额外信息的小窗口.对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件.Android中常见跟对话框相关控件有Toast.AlertDialog.PopupWindow.ProgressDialog等 2.5.1 Toast Toast用于弹出一个简单文本信息为应用提供反馈,可以和当前活动保持可见和互动,在一定时间后自动消失.Toast有两种形式基本Toast和自定义Toast,效果如图2.5.1

Android UI布局与控件(二)

一.View类的常用xml属性:[了解] ①.Android中所有的UI(用户界面)元素都是使用View和ViewGroup对象建立的 ②.View是一个可以将一些信息绘制在屏幕上并与用户产生交互的对象 ③.ViewGroup是一个包含多个的View和ViewGroup的容器,用来定义UI布局. ④.Android提供了一系列的View和ViewGroup的子类,开发者可以灵活地组合使用它们来完成界面布 局.界 面元素绘制和用户交互等工作 ⑤.开发者还可以选择性地继承一些系统提供的View,来自

android (4)控件的xml属性

android:id 为控件指定相应的ID. android:text 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串. android:textSize 指定控件当中字体的大小. android:background 指定该控件所使用的背景色或背景图,RGB命名法. android:width 指定控件的宽度. android:height 指定控件的高度. android:sigleLine 如果设置为真的话,则控件的内容在同一行中进行显示. and

Android常用布局和控件

一.Android常用布局属性 1. LinearLayout的特有属性 android:orientation:设置布局排列方式   android:layout_weight:设置所占布局的权重   android:weightSum:设置最大权重和 2. RelativeLayout的特有属性 属性值为“true”或“false”android:layout_centerHrizontal:位于父控件的横向中间位置android:layout_centerVertical:位于父控件的纵向