簡體   English   中英

操作欄標簽指示器未應用自定義樣式

[英]actionbar tab indicator is NOT applying custom styles

我有一個帶有動作欄標簽的viewpager這個問題,基本上我無法將任何自定義樣式應用於標簽,這就是我所擁有的

在此處輸入圖片說明

好的,所以這是使用android studio 1.1隨附的默認選項卡式活動的,這里是我擁有的特征列表

  • 默認模板使用帶有片段的appCompat v4 viewpager
  • 我有一個從此處http://jgilfelt.github.io/android-actionbarstylegenerator/生成的自定義樣式,我知道該樣式已被棄用,但目前仍然可以使用
  • 以下是我活動代碼的代碼部分
  • 最小sdk設置為21
  • 正在使用buildtools 21.2.1
  • 和支持庫v4版本22.0

主要活動

    public class MainActivity extends ActionBarActivity implements ActionBar.TabListener {

    SectionsPagerAdapter mSectionsPagerAdapter;

    ViewPager mViewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final ActionBar actionBar = getSupportActionBar();
        actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

        mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());

        mViewPager = (ViewPager) findViewById(R.id.pager);
        mViewPager.setAdapter(mSectionsPagerAdapter);

        mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {
                actionBar.setSelectedNavigationItem(position);
            }
        });

        for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) {
            actionBar.addTab(
                    actionBar.newTab()

activity_main.xml

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/pager"
    android:layout_width="match_parent" android:layout_height="match_parent"
    tools:context=".MainActivity" />

我在styles.xml中有我的自定義樣式,並且已將它們應用到清單中

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/Theme.CustomTheme" >

這是我知道要更改為紅色指示器的樣式的一小部分

<style name="ActionBarTabStyle.Aeroman" parent="@style/Widget.AppCompat.ActionBar.TabView">
        <item name="android:background">@drawable/tab_indicator_ab_customTheme</item>
    </style>

使用紅色指示器顏色

所有這些對我來說看起來都很不錯,但是正如您在屏幕快照中看到的那樣,突出顯示忽略了這些樣式,我知道樣式文件中的某些樣式已應用,因為例如,我有一個Theme.AppCompat.Light.DarkActionBar作為父項,如果我將其更改為Theme.AppCompat.Light,則ActionBar會變為灰色,因此該部分是否正常工作,對我來說很奇怪的是,選項卡指示器為綠色,我認為應該為藍色,對嗎? 並且默認情況下非常薄。

我在使用Nexus 4和API 16的genymotion模擬器中以及在使用Nexus 5和android 5.0.1的真實設備中進行了測試

請幫助理解這一點,我在這里拉頭發,謝謝您的幫助

使用不帶android:前綴的appcompat屬性名稱,即:

        <item name="actionBarTabStyle">@style/ActionBarTabStyle.YourProject</item>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM