我希望在底部可见的每个页面中的应用程序中都存在静态底部菜单栏.我设计了菜单栏,但我很困惑是否必须将菜单代码与每个布局xmls集成以使菜单在每个页面中可见,并在每个活动类中编写代码以执行菜单点击功能.或者,如果有任何其他方式,我可以创建一个公共底栏,位于每个页面,并在单个活动类中编写菜单代码.
我正在使用操作栏上的菜单项,我想通过单击共享图标来共享我的应用程序.当我单击共享图标时,它不起作用.另外,我想"install this app"在共享时添加文字说明.
这是我的代码:
private ShareActionProvider mShareActionProvider;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.mainpage, menu);
MenuItem item = menu.findItem(R.id.menu_item_share);
mShareActionProvider = (ShareActionProvider) item.getActionProvider();
return true;
}
private void setShareIntent(Intent shareIntent) {
if (mShareActionProvider != null) {
mShareActionProvider.setShareIntent(shareIntent);
}
}
Run Code Online (Sandbox Code Playgroud)
Mainpage.xml菜单:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/menu_item_share"
android:showAsAction="ifRoom"
android:title="Share"
android:icon="@drawable/ic_store"
android:actionProviderClass="android.widget.ShareActionProvider" />
</menu>
Run Code Online (Sandbox Code Playgroud) 我正在使用支持库V7中的ActionBarActivity.但是,当我在菜单xml中指定android:showAsAction ="always"时,它不会生效.我必须在onCreateOptionsMenu()方法的Java代码中执行此操作,以查找项目并手动设置属性.我的代码有什么问题吗?为什么会这样?
这是我的活动代码,大部分来自文档示例:
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionBar = getSupportActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
actionBar.setDisplayShowTitleEnabled(false);
Tab tab = actionBar
.newTab()
.setText("ArtistFragment")
.setIcon(android.R.drawable.ic_input_add)
.setTabListener(
new TabListener<ArtistFragment>(this, "ArtistFragment", ArtistFragment.class));
actionBar.addTab(tab);
tab = actionBar
.newTab()
.setText("AlbumFragment")
.setIcon(android.R.drawable.btn_radio)
.setTabListener(
new TabListener<AlbumFragment>(this, "AlbumFragment", AlbumFragment.class));
actionBar.addTab(tab);
}
public static class TabListener<T extends Fragment> implements ActionBar.TabListener {
private Fragment mFragment;
private final Activity mActivity;
private final String mTag;
private final Class<T> mClass;
/** Constructor used each time a …Run Code Online (Sandbox Code Playgroud) android android-menu android-actionbar android-actionbar-compat
这是我用来删除的代码MenuItem:
af.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
Run Code Online (Sandbox Code Playgroud)
但是,setShowsAsAction需要最低的API 11才能在GingerBread上崩溃.我可以af.setVisible(false);用来让代码在GingerBread上运行.两者有什么不同?这是一回事吗?
关于使用ActionBarSherlock或其他库更改硬键菜单的文本颜色或背景图像有很多问题.但我找不到任何与使用AppCompat的Material主题相关的答案.
那么如何更改硬键菜单面板的文本颜色和背景?
默认情况下,面板看起来像这样(Light.DarkActionBar主题).我真的不喜欢丑陋的灰色到灰色的对比,我想把文字颜色改成黑色.

android android-appcompat android-menu android-theme material-design
我在列表视图中使用动作模式进行多选。我遇到的问题是,在模拟器上测试时,我在操作模式菜单中指定为隐藏的图标永远不会隐藏在溢出菜单中,尽管在预览中是这样。我在这里使用 AppCompat 主题是我的 menu.xml --->
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/tag"
android:enabled="true"
android:title="Tag"
android:icon="@drawable/in_ic_tag_white_24dp"
android:orderInCategory="1"
app:showAsAction="always" />
<item
android:id="@+id/delete"
android:enabled="true"
android:title="@string/label_delete"
android:icon="@drawable/in_ic_delete_white_24dp"
android:orderInCategory="2"
app:showAsAction="never" />
</menu>
Run Code Online (Sandbox Code Playgroud) android menuitem android-appcompat android-menu android-actionmode
我正在使用带有actionLayout的菜单项,因为我需要在ActionBar上添加textView以及我的图标.一切都正确显示但我不知道(并且无法找到任何地方)如何添加当用户点击Lollipop设备上的菜单项时显示的动画.
我想在工具栏中的评论图标旁边显示一些评论.
这是我有的:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_like"
android:icon="@drawable/list_discuss_like"
android:title="Like"
app:showAsAction="always"/>
<item
android:id="@+id/menu_comment"
app:actionLayout="@layout/menu_item_comment"
android:title="Comment"
android:icon="@drawable/ic_comment_white_24dp"
app:showAsAction="always"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
以及我的menu_item_comment.xml
<?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:clickable="true"
android:hapticFeedbackEnabled="true"
android:orientation="horizontal">
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:src="@drawable/ic_comment_white_24dp"/>
<TextView
android:id="@+id/ab_comment_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="(12)"
android:textColor="@color/grayTextHint"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
动画和反馈适用于类似项目,但不适用于注释项目.
任何帮助表示赞赏.
有没有办法在长按ToolBar项目后隐藏吐司?
长按的android ToolBar图标或图像按钮显示祝酒词.
如何更改<item>Navigation Drawer 元素内元素的大小?
无论图标似乎总是像这样自动调整为 24dp:
我需要将图标的大小增加到 34 dps,但<item>元素似乎没有任何属性来更改 XML 中的此设置:
谢谢。
我是android的新手.我无法在弹出菜单中添加简单的图标.我将图标添加到xml文件但我看不到它们.
这是我的菜单 - pop_up_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_email"
android:icon="@mipmap/email"
android:title="E-Mail"
/>
<item
android:id="@+id/action_messenger"
android:icon="@mipmap/messenger"
android:title="Messenger"
/>
<item
android:id="@+id/action_skype"
android:icon="@mipmap/skype"
android:title="Skype"
/>
<item
android:id="@+id/action_whatsapp"
android:icon="@mipmap/whatsapp"
android:title="Whatsapp"
/>
</menu>
Run Code Online (Sandbox Code Playgroud)
我有这个OnClickListener,在点击moreActionsButton后调用showPopUpMenu函数
moreActionsButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showPopUpMenu(us);
}
});
Run Code Online (Sandbox Code Playgroud)
这是创建菜单的showPopUpMenu
public void showPopUpMenu(final User user) {
View menuItemView = getView().findViewById(R.id.groupLeave);
PopupMenu popUpMenu = new PopupMenu(getActivity(), menuItemView);
popUpMenu.getMenuInflater().inflate(R.menu.pop_up_menu, popUpMenu.getMenu());
popUpMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_messenger:
onMessengerClick(user);
break;
case R.id.action_skype:
onSkypeClick(user); …Run Code Online (Sandbox Code Playgroud)