标签: android-actionbar-compat

菜单项不会显示在操作栏上

我在我的应用程序中使用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)

这篇文章说,当硬件菜单按钮存在时,它不起作用.但其他应用程序可以在同一设备上显示项目.所以,这个答案似乎是不正确的.有人可以帮忙吗?

在此输入图像描述

android android-actionbar-compat

33
推荐指数
2
解决办法
6万
查看次数

操作栏未随AppCompat显示

我正在使用AppCompat将我的应用程序移植到API7,并且操作栏出现问题.

当我使用FragmentActivity动作栏时显示在我的手机上(API18),但是ActionBarActivity按下menubutton会显示为选项菜单.

在具有API7的模拟器上,操作栏始终显示为选项菜单.

有任何想法吗?

android android-appcompat android-actionbar android-actionbar-compat

33
推荐指数
2
解决办法
2万
查看次数

操作栏不显示操作视图图标

我正在使用新的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

30
推荐指数
1
解决办法
4万
查看次数

popupBackground与Material Design的故障

我一直在努力将我的应用程序更新为Material Design.

我有一个使用标签的应用程序.出于某种原因,每当我使用android:popupBackground来设置下拉菜单颜色时,它就会变得怪异.

https://i.imgur.com/Qm2NDYH.png

我设置了一个带有标签的默认项目,并使用了以下主题,同样的事情发生了.有没有其他人有这个问题?我的应用程序是开源的,因此所有代码都可以在这里获得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

30
推荐指数
1
解决办法
2386
查看次数

android标题不会显示在工具栏中

我有一个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

30
推荐指数
3
解决办法
3万
查看次数

如何获得ActionBar视图?

我正在使用该Showcase库向用户解释我的应用程序功能.在某些方面,我需要调暗整体ActionBar以向用户呈现另一个功能.

为此,我正在使用setAlpha(float num)View课程.因此,为了做到这一点,我需要得到我的实际视图实例ActionBar

顺便说一句,我正在使用support-7-appcompat为旧系统提供ActionBar支持的库.

更新

在此期间,如果您配置自定义视图并ActionBar使用以下命令将其添加到您,我找到了此选项:

getSupportActionBar().setCustomView(v);
Run Code Online (Sandbox Code Playgroud)

然后得到ViewActionBar,你可以这样做:

(View) activity.getSupportActionBar().getCustomView().getParent().getParent()
Run Code Online (Sandbox Code Playgroud)

有更简单或更简单的方法吗?

android view android-actionbar showcaseview android-actionbar-compat

29
推荐指数
4
解决办法
3万
查看次数

从ActionBarSherlock迁移到ActionBarCompat时有哪些常见问题?

我想从我的应用程序中删除ActionBarSherlock并将其替换为标准的ActionBarCompat.

  • 我如何实现ActionBarCompat?
  • 如何迁移活动?
  • 哪些导入替换ActionBarSherlock导入?
  • 什么是典型问题?

android actionbarsherlock android-actionbar android-actionbar-compat

27
推荐指数
2
解决办法
8307
查看次数

Android工具栏菜单未显示

我正在尝试向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)

android android-actionbar-compat

27
推荐指数
6
解决办法
6万
查看次数

如何改变SlidingTabLayout的文字颜色?

我创建了一个使用ActionBarCompat的应用程序

我使用SlidingTabLayout类创建了选项卡.

这个班是这样的:

SlidingTabLayout.java

但我不能改变标签的颜色......

我的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

25
推荐指数
2
解决办法
2万
查看次数

如何在新的AppCompat工具栏中更改HomeAsUp指示器?

我想在我的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)

android android-actionbar-compat android-toolbar

24
推荐指数
4
解决办法
4万
查看次数