我必须显示弹出窗口。我已经完成了,但我无法设置此弹出窗口的位置。 我必须在朋友标签的下方设置弹出窗口。
代码:
_spinner = (Spinner) view.findViewById(R.id.group_spinner);
_groupAdaptor = new ArrayAdapter(getActivity(),
android.R.layout.simple_spinner_dropdown_item, _itemGroupList);
_spinner.setAdapter(_groupAdaptor);
_spinner.setOnItemSelectedListener(this);
点击后,我调用的方法如下:
_spinner.performClick();
答案 0 :(得分:0)
使用我的工作代码..
Rect r = locateView(v);
final PopupWindow popup = new PopupWindow(getActivity());
popup.setAnimationStyle(R.style.animation);
popup.setContentView(layout);
popup.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);
popup.setWidth(getActivity().getWindowManager().getDefaultDisplay().getWidth() / 2);
popup.setFocusable(true);
popup.setBackgroundDrawable(new BitmapDrawable());
popup.showAtLocation(layout, Gravity.TOP | Gravity.LEFT, r.right, r.bottom);
public static Rect locateView(View v) {
int[] loc_int = new int[2];
if (v == null)
return null;
try {
v.getLocationOnScreen(loc_int);
} catch (NullPointerException npe) {
return null;
}
Rect location = new Rect();
location.left = loc_int[0];
location.top = loc_int[1];
location.right = loc_int[0] + v.getWidth();
location.bottom = loc_int[1] + v.getHeight();
return location;
}
答案 1 :(得分:0)
我通过布局中的一些修正解决了我的问题。 我犯了一个愚蠢的错误,Spinner视图没有正确对齐。
<TextView
android:id="@+id/group_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="@string/label_friends"
android:textColor="@android:color/white" />
<ImageView
android:id="@+id/dropListImageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/group_text"
android:layout_centerHorizontal="true"
android:layout_marginTop="4dip"
android:background="@drawable/droplist" />
<Spinner
android:id="@+id/group_spinner"
android:layout_width="150dip"
android:layout_height="20dip"
android:layout_centerHorizontal="true"
android:layout_below="@+id/group_text"
android:visibility="invisible"
/>
答案 2 :(得分:-1)
我在应用程序中也遇到了同样的问题,并通过使用spinier找到了解决方案。您只需单击朋友,然后在该菜单中显示您的选项,您只需执行用户旋转下拉列表即可。它会对你有所帮助。