0
Я хочу посеять всплывающее окно в определенном месте в текстовом режиме (текстовое изображение находится внутри прокрутки). Мой макет PopupWindow содержит только список. Я использую ниже код для настройки ширины и высоты PopupWindow. Высота PopupWindow работает корректно, но ширина нет. На разных устройствах он отличается. Он также не деформирует ширину содержимого списка.Как настроить PopupWindow Width в Android
final PopupWindow attachmentPopup = new PopupWindow(this);
LayoutInflater layoutInflater = getLayoutInflater();
View popupView = layoutInflater.inflate(R.layout.popupwindow, null);
ListView lv = (ListView) popupView.findViewById(R.id.listView);
final ArrayList<CustomItem> popupItems = new ArrayList<CustomItem>();
final CustomAdapter popupAdapter = new CustomAdapter(popupItems, Details.this);
CustomItem item;
item = new CustomItem();
item.setName("Apple");
popupItems.add(item);
item = new CustomItem();
item.setName("Orange");
popupItems.add(item);
lv.setAdapter(popupAdapter);
int popupWidth = ViewGroup.LayoutParams.WRAP_CONTENT;
int popupHeight = ViewGroup.LayoutParams.WRAP_CONTENT;
attachmentPopup.setFocusable(true);
attachmentPopup.setWidth(popupWidth);
attachmentPopup.setHeight(popupHeight);
attachmentPopup.setContentView(popupView);
attachmentPopup.setBackgroundDrawable(new BitmapDrawable());
attachmentPopup.showAtLocation(popupView, Gravity.TOP | Gravity.LEFT, mx, my);
popupwindow.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="#9acd32"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView" />
</LinearLayout>
Результаты одинаковы. Я думаю, из-за listview он не измеряет ширину элементов списка правильно. – user934820
@ user934820 Я не уверен, но можете ли вы попробовать установить андроид: ориентация = «вертикальная» внутри вашей линейной компоновки всплывающего окна – dex
не могли бы вы разделить весь код, чтобы я мог скомпилировать в конце? – dex