我在我的应用程序中使用appcompat.我希望菜单项显示在操作栏上或至少溢出(3个点)以在没有空间时显示它们.操作栏上有很多空间,但它们仍然没有显示出来.菜单流从底部升起,仅在按下菜单按钮时也是如此.
menu_activity.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/menu_lang"
android:showAsAction="always"
android:title="@string/menu_lang"
android:icon="@android:drawable/ic_input_lang"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
活动:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_activity, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
这篇文章说,当硬件菜单按钮存在时,它不起作用.但其他应用程序可以在同一设备上显示项目.所以,这个答案似乎是不正确的.有人可以帮忙吗?

我正在使用AppCompat将我的应用程序移植到API7,并且操作栏出现问题.
当我使用FragmentActivity动作栏时显示在我的手机上(API18),但是ActionBarActivity按下menubutton会显示为选项菜单.
在具有API7的模拟器上,操作栏始终显示为选项菜单.
有任何想法吗?
android android-appcompat android-actionbar android-actionbar-compat
我正在使用新的Action Bar支持,我的所有操作视图都显示在溢出中,而不是栏中的图标.我的应用程序适用于7+ API.
HomeActivity:
public class HomeActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle(R.string.app_name);
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.home, menu);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
home.xml
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/action_settings"/>
<item
android:id="@+id/action_browse"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/title_activity_browse"/>
<item
android:id="@+id/action_search"
android:actionViewClass="android.widget.SearchView"
android:icon="@android:drawable/ic_menu_search"
android:showAsAction="ifRoom|collapseActionView"
android:title="@string/text_search"/>
<item
android:id="@+id/action_scan"
android:icon="@drawable/action_scan"
android:showAsAction="always"
android:title="@string/title_activity_browse"/>
Run Code Online (Sandbox Code Playgroud)
我在4.3上使用Nexus 7,在2.3.3上使用LGP500,没有图标.我还在清单上添加了android:theme ="@ style/Theme.AppCompat.Light.DarkActionBar",我的项目正确引用了官方文档中描述的android-support-v7-appcompat.
android android-actionbar android-support-library android-actionbar-compat
我一直在努力将我的应用程序更新为Material Design.
我有一个使用标签的应用程序.出于某种原因,每当我使用android:popupBackground来设置下拉菜单颜色时,它就会变得怪异.

我设置了一个带有标签的默认项目,并使用了以下主题,同样的事情发生了.有没有其他人有这个问题?我的应用程序是开源的,因此所有代码都可以在这里获得GitHub
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="actionDropDownStyle">@style/Dropdown</item>
</style>
<style name="Dropdown" parent="Widget.AppCompat.Light.Spinner.DropDown.ActionBar">
<item name="android:popupBackground">#000</item>
<item name="android:paddingLeft">32dp</item>
<item name="android:paddingRight">32dp</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud) android android-appcompat android-actionbar android-actionbar-compat material-design
我有一个xml,我使用片段文件这么多活动,但我的问题是我无法在工具栏中显示我想要的文本,我使用那个xml,因为我有一个导航抽屉,我需要处理一些事情所以我不得不这样做.
我的xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/frame_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".StatusActivity"
android:orientation="vertical" >
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
style="@style/ToolBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="@dimen/abc_action_bar_default_height_material" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
我的一项活动:
public class GroupChatActivity extends ActionBarActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_base_layout);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowHomeEnabled(true);
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle("Groups history");
Aniways.init(this);
if(savedInstanceState == null)
{
FragmentManager manager = getSupportFragmentManager();
Fragment fragment = GroupChatFragment.newInstance(getIntent().getIntExtra("uid", 0));
manager.beginTransaction().add(R.id.frame_container, fragment).commit();
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我尝试将标题设置为操作栏,但它不起作用.
android toolbar android-actionbar android-actionbar-compat android-toolbar
我正在使用该Showcase库向用户解释我的应用程序功能.在某些方面,我需要调暗整体ActionBar以向用户呈现另一个功能.
为此,我正在使用setAlpha(float num)该View课程.因此,为了做到这一点,我需要得到我的实际视图实例ActionBar
顺便说一句,我正在使用support-7-appcompat为旧系统提供ActionBar支持的库.
在此期间,如果您配置自定义视图并ActionBar使用以下命令将其添加到您,我找到了此选项:
getSupportActionBar().setCustomView(v);
Run Code Online (Sandbox Code Playgroud)
然后得到View的ActionBar,你可以这样做:
(View) activity.getSupportActionBar().getCustomView().getParent().getParent()
Run Code Online (Sandbox Code Playgroud)
有更简单或更简单的方法吗?
android view android-actionbar showcaseview android-actionbar-compat
我想从我的应用程序中删除ActionBarSherlock并将其替换为标准的ActionBarCompat.
android actionbarsherlock android-actionbar android-actionbar-compat
我正在尝试向ToolBar添加菜单.
onCreateOptionsMenu我的方法Activity被调用,但没有菜单出现.
这是dashboard.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"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.app.android.ui.dashboard.DashboardActivity">
<item
android:id="@+id/action_scan_qr"
android:icon="@drawable/ic_drawer"
android:title="@string/menu_scan_qr"
app:showAsAction="always" />
</menu>
Run Code Online (Sandbox Code Playgroud)
注意:此菜单的图标比操作栏的背景颜色更暗,因此它应该是可见的.
活动中的充气菜单:
public class DashboardActivity extends ActionBarActivity {
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
getMenuInflater().inflate(R.menu.dashboard, menu);
return true;
}
Run Code Online (Sandbox Code Playgroud)
以及该应用程序的主题:
<style name="Theme.Application.Base" parent="Theme.AppCompat.Light">
<item name="colorPrimary">@android:color/white</item>
<item name="colorPrimaryDark">@android:color/white</item>
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="drawerArrowStyle">@style/Theme.Application.DrawerArrowStyle</item>
<item name="android:textColorSecondary">@android:color/darker_gray</item>
</style>
Run Code Online (Sandbox Code Playgroud)
为什么onCreateOptionsMenu被调用但菜单没有出现.我正在使用appcompat-v7:21.0.3
编辑:
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(getContentViewId());
toolbar = (Toolbar) findViewById(R.id.tool_bar);
if (toolbar == null) …Run Code Online (Sandbox Code Playgroud) 我创建了一个使用ActionBarCompat的应用程序
我使用SlidingTabLayout类创建了选项卡.
这个班是这样的:
但我不能改变标签的颜色......
我的viewpager片段是这样的:
<swmovil.fyb.SlidingTabLayout
android:id="@+id/mTabs"
android:layout_width="match_parent"
android:layout_height="48dip" />
<android.support.v4.view.ViewPager
android:id="@+id/mPager"
android:layout_width="match_parent"
android:layout_height="0px"
android:layout_weight="1"
android:background="@color/white" />
Run Code Online (Sandbox Code Playgroud)
应用程序工作得很好,但我无法更改选项卡的颜色文本 ...
在看到以下示例后我创建了应用程序:
rudsonlive /导航抽屉ViewPager-ActionBarCompat
如何更改选项卡文本的文本颜色?
谢谢 !!!
java android android-viewpager android-actionbar android-actionbar-compat
我想在我的AppCompat工具栏中更改默认的ActionBar homeAsUp指示符(drawable).怎么实现呢?仅显示默认箭头.
样式(与其他API级别相同):
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- API 14 theme customizations can go here. -->
<item name="android:windowActionBarOverlay">true</item>
<item name="android:homeAsUpIndicator">@drawable/home</item>
<!-- Support library compatibility -->
<item name="windowActionBarOverlay">true</item>
<item name="homeAsUpIndicator">@drawable/home</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我的片段布局中的工具栏:
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/my_awesome_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:homeAsUpIndicator="@drawable/home"
android:minHeight="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/AppTheme" />
Run Code Online (Sandbox Code Playgroud)
在片段中:
toolbar = (Toolbar) rootView.findViewById(R.id.my_awesome_toolbar);
activity.setSupportActionBar(toolbar);
ActionBar actionBar = activity.getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
Run Code Online (Sandbox Code Playgroud)