Articles of menuitem

如何设置MenuItem的图标颜色?

我定义了一个具有ShareActionProvider的菜单项并共享白色图标,如下所示: 但是当我启动应用程序时,我会得到一个不同的黑色共享图标。 如何将共享图标设置为白色? 这是我的结果

如何在AppCompatActivity中显示带有图标和文本的菜单项

我在xml文件中尝试了不同的组合: 要么 要么 要么 我试图以编程方式设置它 @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){ MenuItem item = menu.add(R.string.menu_create_alarm); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT|MenuItem.SHOW_AS_ACTION_IF_ROOM); item.setIcon(R.drawable.ic_action_accept); item.setOnMenuItemClickListener( new OnMenuItemClickListener(){ @Override public boolean onMenuItemClick(MenuItem item){ saveAlarm(); return true; } } ); // inflater.inflate(R.menu.menu_create_alarm, menu); super.onCreateOptionsMenu(menu, inflater); } 要么 但是,仅显示图标。 并且有植物的房间,因为我没有设置工具栏标题。 删除菜单并使用工具栏内的按钮重新替换菜单是不可取的。 如何显示文字?

Android以编程方式更改导航抽屉菜单项文本

我的应用程序中有新的导航抽屉,我想从代码中动态更改导航视图菜单项标题文本。 我看过很多post,但我想不通,我怎么能这样做。 我怎样才能正确实现这一目标? MainActivity.java @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, “Replace with your own action”, Snackbar.LENGTH_LONG) .setAction(“Action”, null).show(); } }); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, […]

如何在Android菜单xml中的多个菜单中包含一个常用菜单项?

许多菜单总是有一个项目相同。 有没有办法将该项目定义为额外菜单并将其包含在所有其他菜单中? 像这样的东西: 菜单/ main.xml中 菜单/ other.xml 我知道,有可能以programmaticaly方式进行,但我认为xml-way更好。

如何以编程方式更改操作栏项目的背景颜色

通过设置,可以很容易地在操作栏中设置项目背景的默认颜色: <item name="android:actionBarItemBackground">@drawable/action_bar_item_background</item> 在应用程序主题。 我想只为我的一个片段改变这种颜色。 如何以编程方式做到这一点?

在页面加载时启动animation,在加载的页面上停止

我的ActionBar中有一个MenuItem ,它是一个“重新加载”图标。 我的Activity有一个WebView ,我想这个图标在WebView开始加载一个网页时开始animation,当它完成时停止。 这包括点击加载的网站中的链接。 到目前为止,我第一次启动一个网页,但如果我离开Activity并加载另一个网页,“重新加载”图标似乎加倍,或者我会得到NullReferenceexception抛出refreshItem.setActionView(ivRefresh); 这是我的代码: public class Browser extends SherlockFragmentActivity { private MenuItem refreshItem; private WebView mWebView; @Override public void onCreate(final Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.browser); mWebView = (WebView)findViewById(R.id.webview); mWebView.getSettings().setSupportZoom(true); mWebView.getSettings().setBuiltInZoomControls(true); mWebView.loadUrl("http://www.google.com"); mWebView.setWebViewClient(new WebBrowserClient()); mWebView.setWebChromeClient(new WebChromeClient() { public void onProgressChanged(WebView view, int progress) { //if (!isFinishing() && progress == 100 && refreshItem != […]

android菜单图标大小

我需要以编程方式(不通过布局文件)设置菜单图标,也需要从文件加载图标文件:/// android_asset /(不作为编译的可绘制加载)。 我发现显示图标的大小相对较小。 它看起来像android调整它或什么的,我不想用代码实现相同的效果。 正如你在附带的屏幕截图中看到的那样,菜单“globe-36”,“globe-48”和“globe-72”是使用代码填充的,它们的图像是36×36,48×48和72×72 :(这是我在我的应用程序中加载我的图标的方式,我必须) MenuItem mi = menu.add(Menu.NONE, i++, i++, icon); Drawable d = Drawable.createFromStream(getAssets().open(icon + ".png"), icon); mi.setIcon(d); 并且,菜单“globe-aset”和“barcode-asset”被填充如下: MenuItem mi = menu.add(Menu.NONE, i++, i++, "globe-asset"); mi.setIcon(R.drawable.globe);

如何使用菜单选项从其他活动格式化活动

嗨,我是新来的Android,我想改变文本视图大小和Textview的菜单选项的颜色我不知道该怎么做 我创build了一个像这样的菜单项 <item android:id="@+id/menu_item_share" android:title="Share" android:showAsAction="ifRoom|withText" android:orderInCategory="100" app:actionProviderClass="android.support.v7.widget.ShareActionProvider" /> <item android:id="@+id/display" android:orderInCategory="100" android:showAsAction="ifRoom|withText" android:title="Display Option" android:actionLayout="@layout/custom_setting" /> 当我点击显示选项从当前布局菜单选项一个新的布局希望被称为..在该布局中,我已经创build了两个button之一是加号button ,另一个是减号button ,我希望这些button来更改以前的布局。 当我点击加号button文本视图文本想要更改,当我点击减号button文本视图大小减less。 菜单项被点击时的自定义布局代码 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context="com.example.aeiltech.sidd.CustomSetting" android:background="@mipmap/bg"> <ImageButton android:layout_width="50dp" android:layout_height="40dp" android:background="@drawable/close" android:layout_above="@+id/textView" android:layout_toRightOf="@+id/minus" android:layout_toEndOf="@+id/minus" android:id="@+id/close" /> <ImageButton android:layout_width="50dp" android:layout_height="40dp" android:background="@drawable/plusign" android:layout_marginTop="110dp" android:id="@+id/plus" android:layout_alignParentTop="true" android:layout_alignLeft="@+id/textView" android:layout_alignStart="@+id/textView" /> <ImageButton android:layout_width="50dp" android:layout_height="40dp" […]

如何dynamic更改ActionBar菜单项的图标

我想从服务器获取通知时dynamic更改菜单项的图标。 但是,当代码更改菜单项的图标运行时,我得到一个NullPointerException 。 我用来更改菜单项的图标的代码在onCreatOptionsMenu方法中定义如下: @Override public boolean onCreateOptionsMenu(Menu menu) { // getMenuInflater().inflate(R.menu.main, menu); this.menu = menu; if (mDrawerLayout != null && isDrawerOpen()) showGlobalContextActionBar(); MenuInflater menuInflater = this.getMenuInflater(); menuInflater.inflate(R.menu.notification, menu); return super.onCreateOptionsMenu(menu); } } 并在updateCount方法中,我正在更改图标如下: public void updateCount(int count) { hot_count = count; System.out.println("Value of count: " + count); runOnUiThread(new Runnable() { @Override public void run() […]

如何在Viewpager + Fragments中使用Actionbar项目

我试图找出如何实现基于在我的viewpager中加载的片段的动作栏项目。 我的代码在下面,我只是想弄清楚使用ABS + ViewPager + Fragments的最佳做法。 主要活动 public class MainActivity extends SherlockFragmentActivity { private ViewPager mPager; private TitlePageIndicator mIndicator; private MainPagerAdapter mAdapter; private List<Fragment> mFragments; private static final String FRAGMENT1 = Fragment1.class.getName(); private static final String FRAGMENT2 = Fragment2.class.getName(); private static final String FRAGMENT3 = SupportFragment.class.getName(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.a_main); // […]