#android #anchor #android-inflate #popupmenu
#Android #якорь #android-раздуть #popupmenu
Вопрос:
Я хочу показать всплывающее меню, привязанное к нижней части экрана, но оно всегда показывает всплывающее окно, привязанное к правой нижней части экрана.
Иногда из-за этого всплывающее меню обрезается, когда оно отображается на экране. Вот пример.
Вот привязка (item_menu) в файле макета:
<LinearLayout
android:id="@ id/item_menu"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:visibility="visible">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:translationX="4dp"
android:src="@drawable/ic_more_vert_black_18dp" />
</LinearLayout>
И это мой код для установки всплывающего меню и его отображения:
public ItemViewHolder(View itemView) {
super(itemView);
itemView.findViewById(R.id.item_menu).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(final View view) {
PopupMenu popupMenu = new PopupMenu(view.getContext(), view);
popupMenu.getMenuInflater().inflate(R.menu.hot_item, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem menuItem) {
Toast.makeText(view.getContext(), "menu clicked " menuItem.getItemId(), Toast.LENGTH_LONG).show();
return true;
}
});
popupMenu.show();
}
});
}
Комментарии:
1. вам нужно изменить код
2. Не могли бы вы дать мне еще несколько объяснений? Как я могу изменить код?
3. это настолько конкретно, насколько я могу быть, не зная фактического кода