我正在使用从Android 4.3(API级别18)开始提供的新v7 appcompat库.
无论showAsAction中为菜单项指定了什么,它都没有显示 - 它总是创建溢出菜单图标,甚至在菜单下放置一个菜单项.
试图将菜单添加到这样的活动:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_sizes, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
这是我的菜单xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_add_size"
android:title="@string/menu_add_item"
android:orderInCategory="10"
android:showAsAction="always"
android:icon="@android:drawable/ic_menu_add" />
</menu>
Run Code Online (Sandbox Code Playgroud)
它是新支持库v7的错误,还是代码有问题?我以前多次使用与ActionBarSherlock类似的代码.
android menuitem android-support-library android-actionbar-compat
我知道使用本机API是不可能的.是否有解决方法来实现这种视图?
当然,我们在这里处理SDK 11及更高版本.
我打算做类似的事情:

旁边的每个项目在PopupMenu,我想将一个图标.
我创建了一个XML文件并将其放入/menu:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/action_one"
android:title="Sync"
android:icon="@android:drawable/ic_popup_sync"
/>
<item
android:id="@+id/action_two"
android:title="About"
android:icon="@android:drawable/ic_dialog_info"
/>
</menu>
Run Code Online (Sandbox Code Playgroud)
正如您所注意到的,在xml文件中我定义了我想要的图标,但是,当弹出菜单显示时,它显示的是没有图标的图标.我应该怎么做才能出现这两个图标?
有没有办法让ListView的with等于最长的行?为ListView的宽度设置wrap_content无效.ListView水平覆盖整个屏幕.
这是活动布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<ListView android:id="@+id/listview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/country_picker_bg" />
Run Code Online (Sandbox Code Playgroud)
这是行xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_marginBottom="@dimen/padding"
android:padding="@dimen/padding"
android:background="@drawable/white_round_rect" >
<TextView android:id="@+id/title"
style="@style/GreyTextView"
android:layout_marginLeft="@dimen/padding"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/orange_arrow_selector"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
谢谢Gratzi
我一直在开发Android应用程序,但我不太了解4+版本的Android.因此,请帮助我 - 我已经制作了带有导航标签的Android应用程序:
final ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Run Code Online (Sandbox Code Playgroud)
但我还需要为ActionBar添加下拉菜单以实现其他目标.我可以做吗?如果有可能,请举个例子.先感谢您.
我正在尝试在按下某个菜单项时创建一个弹出窗口.我想我有大部分代码,但是我不知道该怎么做showAtLocation(...)或showAsDropDown(...).
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
...
case R.id.about:
displayPopupWindow();
return true;
...
}
}
public void displayPopupWindow() {
PopupWindow popup = new PopupWindow(this);
View layout = getLayoutInflater().inflate(R.layout.popup, null);
popup.setContentView(layout);
popup.setOutsideTouchable(true);
popup.setFocusable(true);
popup.showAtLocation(??, Gravity.CENTER, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)
我应该为菜单视图添加什么,还是应该以另一种方式执行此操作?我希望这是有道理的,谢谢你的帮助!
android ×7
menuitem ×2
popupmenu ×2
android-menu ×1
listview ×1
menu ×1
optionmenu ×1
width ×1