标签: android-actionbar

通过xml更改Android ActionBar中的标题文本颜色

我想在我的应用程序中更改ActionBar的标题文本颜色.我在很多方面都尝试过,但我无法实现.我不想以编程方式执行此操作,因为当应用程序启动时,它会显示具有先前颜色的操作栏,然后更改为新的操作栏.我支持Api Level 8,我的xml是使用Android Action Bar Style Generator生成的.然后我尝试用更改标题文本颜色.标题文字颜色仍为黑色.

这是我的代码:

<resources>

<style name="Theme.Dbtools_style" parent="@style/Theme.AppCompat.Light">
    <item name="actionBarItemBackground">@drawable/selectable_background_dbtools_style</item>
    <item name="popupMenuStyle">@style/PopupMenu.Dbtools_style</item>
    <item name="dropDownListViewStyle">@style/DropDownListView.Dbtools_style</item>
    <item name="actionBarTabStyle">@style/ActionBarTabStyle.Dbtools_style</item>
    <item name="actionDropDownStyle">@style/DropDownNav.Dbtools_style</item>
    <item name="actionBarStyle">@style/ActionBar.Solid.Dbtools_style</item>
    <item name="actionModeBackground">@drawable/cab_background_top_dbtools_style</item>
    <item name="actionModeSplitBackground">@drawable/cab_background_bottom_dbtools_style</item>
    <item name="actionModeCloseButtonStyle">@style/ActionButton.CloseMode.Dbtools_style</item>
    <!-- Remove icon in Action Bar -->
    <item name="android:displayOptions">showHome|homeAsUp|showTitle</item>
    <item name="displayOptions">showHome|homeAsUp|showTitle</item>
    <item name="android:icon">@android:color/transparent</item>
    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/ActionBar.Solid.Dbtools_style</item>
</style>

<style name="ActionBar.Solid.Dbtools_style" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
    <item name="background">@drawable/ab_solid_dbtools_style</item>
    <item name="backgroundStacked">@drawable/ab_stacked_solid_dbtools_style</item>
    <item name="backgroundSplit">@drawable/ab_bottom_solid_dbtools_style</item>
    <item name="progressBarStyle">@style/ProgressBar.Dbtools_style</item>
    <!-- Title Text Color -->
    <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
    <!-- Support library compatibility -->
    <item name="titleTextStyle">@style/MyActionBarTitleText</item> …
Run Code Online (Sandbox Code Playgroud)

android android-actionbar android-actionbar-compat

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

以编程方式更改Gingerbread中的Actionbar标题颜色

我需要以编程方式更改操作栏标题文本颜色.

我使用以下代码以稍微不同的方式设置颜色,具体取决于SDK版本

int textColor = getResources().getColor(android.R.color.white);
    if (Build.VERSION.SDK_INT >= 14) {
        // Version 4+
        int titleId = getResources().getIdentifier("action_bar_title", "id", "android");
        TextView abTitle = (TextView) findViewById(titleId);
        if (abTitle != null) {
            abTitle.setTextColor(textColor);
        }
    } else {
        // Other versions
        TextView abTitle = (TextView) getWindow().findViewById(android.R.id.title);
        if (abTitle != null) {
            abTitle.setTextColor(textColor);
        }
    }
Run Code Online (Sandbox Code Playgroud)

它适用于SDK值为14或更高的设备.但是,对于Gingerbread设备,abTitle始终为null,因此颜色不会设置.

anyony有什么建议吗?

android android-actionbar

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

如何自定义Action Bar Style?

如何更改操作栏后退按钮和操作栏菜单图标(附加图像)的颜色.我有以下样式代码(下面),使用它我自定义文本但我无法完全自定义操作栏.

下面是我使用的样式代码:

<style name="MyCustomTheme" parent="Theme.Sherlock.Light">

     <item name="actionBarStyle">@style/ActionBar</item>

     <item name="android:actionBarStyle">@style/ActionBar</item>

     </style>

 <style name="ActionBar" parent="Widget.Sherlock.ActionBar">
        <item name="background">@drawable/bg_header</item> -----------(1)
        <item name="android:background">@drawable/bg_header</item>

        <item name="android:titleTextStyle">@style/customTextAppearance.Sherlock.Widget.ActionBar.Title</item> ----(2)
        <item name="titleTextStyle">@style/customTextAppearance.Sherlock.Widget.ActionBar.Title</item>
         <item name="android:homeAsUpIndicator">@style/customTextAppearance.Sherlock.Widget.ActionBar.Title</item>
    </style>


 <style name="customTextAppearance.Sherlock.Widget.ActionBar.Title" parent="TextAppearance.Sherlock.Widget.ActionBar.Title">
        <item name="android:textSize">18dp</item>
        <item name="android:textColor">#ffffff</item>
        <item name="android:shadowColor">#ffffff</item>
        <item name="android:shadowDy">3</item>
        <item name="android:textStyle">bold</item>

</style>
Run Code Online (Sandbox Code Playgroud)

感谢您的帮助,谢谢. 屏幕截图

android android-actionbar

1
推荐指数
2
解决办法
9372
查看次数

更改ActionBar标题

我的主要活动包括一个fragment.我在Activity的onResume()方法上设置了操作栏标题

@Override
    protected void onResume() {
        super.onResume();
        getActionBar().setTitle("My Account");
    }
Run Code Online (Sandbox Code Playgroud)

它将动作栏标题显示为"My Account".当我调用片段时,我将片段的onResume()方法的标题设置为

@Override
    public void onResume() {
        super.onResume();
        getActivity().getActionBar().setTitle("Connected Accounts");
    }
Run Code Online (Sandbox Code Playgroud)

它显示标题为.'Connected Accounts'但是当我回到活动时它仍然显示标题为'Connected Accounts',而它应显示为'My Account'.请帮助我知道这个奇特的案例中缺少一些东西.谢谢

android android-fragments android-actionbar

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

Iappcompat v21:材料设计ActionBar()InflateException error-inflating-class

试图将(appcompat v20)中的应用程序移动到新库appcompat v21

与:appcompat-v7:20工作很好

我这样做了:

ActionBarActivity implements ActionBar.TabListener, ActionBar.OnNavigationListener
Run Code Online (Sandbox Code Playgroud)

有这个:

android.view.InflateException: Binary XML file line #17: Error inflating class android.support.v7.internal.widget.ActionBarOverlayLayout

扩展类android.support.v7.internal.widget.ActionBarView时出错

android nullpointerexception fragment android-appcompat android-actionbar

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

AppCompat v7 r21改变了ActionBar标题的Alpha

使用以前版本的AppCompat,很容易获得ActionBar标题TextView并对其进行修改.

有我使用的方法:

 private TextView getActionBarTitleView() {
     int id = getResources().getIdentifier("action_bar_title", "id", "android");
     return (TextView) findViewById(id);
}
Run Code Online (Sandbox Code Playgroud)

然后更改标题的alpha值:

getActionBarTitleView().setAlpha(ratio*255);
Run Code Online (Sandbox Code Playgroud)

现在由于某些原因,使用最新的AppCompat版本的"action_bar_title"不再起作用了.当我尝试使用我的方法时,它返回"null".试图使用其他的id,ActionBar但我找不到好的.

我在Ahmed Nawara的StackOverflow上看到了1个帖子,他目前找到的唯一方法是对子Toolbar视图进行迭代,每当TexView找到a时,将它的文本值与toolbar.getTitle()进行比较,以确保在TexView我们看到的.

如果有人可以帮助我将这个解决方案整合到我的案例中,因为我实际上不知道该怎么做.

android android-appcompat android-actionbar android-support-library

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

操作栏上的空指针异常

我在动作栏上得到空指针异常.我正在使用.getActionBar()以下是错误..我正在扩展活动

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.peoplecloud.guggu/com.peoplecloud.guggu.activity.LandingActivity_}: java.lang.NullPointerException
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2211)
            at android.app.ActivityThread.access$600(ActivityThread.java:149)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1300)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:153)
            at android.app.ActivityThread.main(ActivityThread.java:5086)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.NullPointerException
            at com.peoplecloud.guggu.activity.LandingActivity.onCreate(LandingActivity.java:96)
            at com.peoplecloud.guggu.activity.LandingActivity_.onCreate(LandingActivity_.java:29)
            at android.app.Activity.performCreate(Activity.java:5020)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2211)
            at android.app.ActivityThread.access$600(ActivityThread.java:149)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1300)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:153)
            at android.app.ActivityThread.main(ActivityThread.java:5086)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
Run Code Online (Sandbox Code Playgroud)

在以下行中 -

java:96 actionBar.setTitle(mTitle);
Run Code Online (Sandbox Code Playgroud)

android nullpointerexception android-actionbar

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

如何禁用shadow action bar(android 5.0)?

我目前正在构建一个使用材质设计主题作为基本主题的应用程序.

但是,操作栏在操作栏下方有一个暗阴影.我已经尝试了所有我能想到的东西,但我似乎无法摆脱它.这是一个显示我的意思的屏幕截图:https: //docs.google.com/file/d/0B_krkpxyd558V0p6a1NKZXFHeHc/edit?usp = docslist_api

如果有人能告诉我如何摆脱它,我会非常感激.

谢谢科里:)

android android-theme android-actionbar

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

从导航抽屉ActionBar中删除应用程序图标不起作用

我正在开发一个具有设计要求的应用程序,因为它应该只有ActionBar上的Title而不是App Icon.我尝试了从StackOverflow中找到的各种解决方案

getActionBar().setDisplayUseLogoEnabled(false);

    getActionBar().setDisplayShowHomeEnabled(false);

    getActionBar().setIcon(null);
Run Code Online (Sandbox Code Playgroud)

但是到目前为止这些都没有工作,即使我试图通过制作透明的ic_launcher图标并将其放入manifest.xml来进行黑客/修复,但它会导致App安装图标变得透明.请帮忙

getActionBar().setDisplayShowHomeEnabled(false);
Run Code Online (Sandbox Code Playgroud)

在4.4 kitkat中完美运行,但在降级版本中显示了这样的后退箭头在此输入图像描述

我需要像这样在每个设备上工作

在此输入图像描述

android android-actionbar navigation-drawer

1
推荐指数
2
解决办法
5135
查看次数

ActionBar Up导航无法在API 15上运行

我已经为我的ActionBar实现了Up导航,但是我在APi低于16时遇到了麻烦.

在运行4.0.4(API 15)的测试设备上,我可以点击ActionBar中的Up图标,但它不会转到我在清单中定义的父活动.

表现:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="app.name" >

<uses-sdk
    android:minSdkVersion="11"
    android:targetSdkVersion="19" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="" />

    <activity
        android:name=".Home"
        android:label="@string/app_name"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".Buildings"
        android:label="@string/title_activity_buildings"
        android:parentActivityName=".Home"
        android:screenOrientation="portrait" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".Home" />
    </activity>
    <activity
        android:name=".Map"
        android:label="@string/title_activity_map"
        android:parentActivityName=".Home"
        android:screenOrientation="portrait" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY" …
Run Code Online (Sandbox Code Playgroud)

android android-actionbar

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