2017-05-09 1 views
2

私は自分のアプリケーションでは、次のレイアウトを持っている:タイトルを設定するにはツールバーのタイトル文字色

<color name="primary">#5677fc</color> 
<color name="primary_dark">#303f9f</color> 
<color name="accent">#e040fb</color> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:fitsSystemWindows="true" 
    app:expanded="false"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fitsSystemWindows="true" 
     app:contentScrim="?attr/colorPrimary" 
     app:expandedTitleMarginEnd="64dp" 
     app:expandedTitleMarginStart="48dp" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

     <ImageView 
      android:id="@+id/header_image" 
      android:layout_width="match_parent" 
      android:layout_height="150dp" 
      android:contentDescription="@string/app_name" 
      android:fitsSystemWindows="true" 
      app:layout_collapseMode="parallax" /> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_collapseMode="pin"> 

     </android.support.v7.widget.Toolbar> 

    </android.support.design.widget.CollapsingToolbarLayout> 

</android.support.design.widget.AppBarLayout> 

また、アプリケーションのテーマは

色がある
<style name="Theme.MyApp" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/primary</item> 
    <item name="colorPrimaryDark">@color/primary_dark</item> 
    <item name="colorAccent">@color/accent</item> 
    <item name="android:windowIsTranslucent">true</item> 
</style> 

を以下のようです私は使用する

CollapsingToolbarLayout collapsingToolbar; 
... 
collapsingToolbar.setTitle(title); 

タイトルが黒く表示されています。どうしたらいいですか?

app:titleTextColor="@android:color/white"Toolbartoolbar.setTitleTextColor(0xffffff);の両方の設定は役に立ちません。

答えて

0

私はあなたがsetCollapsedTitleTextColor()を使用する必要があると思う:

collapsingToolbar.setCollapsedTitleTextColor(0xffffff); 

ところで、あなたのheader_imageは(おそらくそれはwrap_contentでなければなりません)画面の幅全体を取り、それを持っているとして、タイトルを非表示にすることがあります

android:layout_width="match_parent" 
+0

私がそうするとき、タイトルは表示されません。 – Alexey

+0

あなたはどのOSを使用していて、あなたのcompileSdkVersionは何ですか? –

+0

私はAndroid 4.4.4を搭載したGenymotionシミュレータとAndroid 5.1を搭載した実機でテストしました。どちらも同じ結果です。 minSdkVersion = 16、targetSdkVersion = 24. – Alexey

2

作成したスタイルを、この

を試してみてください

<style name="collapsingToolbarLayoutTitleColor" parent="@android:style/TextAppearance.Medium"> 
    <item name="android:textSize">18sp</item> 
    <item name="android:textColor">@color/white</item> 
</style> 

次に、折りたたんで展開したときにCollapsingToolbarLayoutにスタイルを追加します。

mCollapsingToolbarLayout.setExpandedTitleTextAppearance(R.style.collapsingToolbarLayoutTitleColor); 
mCollapsingToolbarLayout.setCollapsedTitleTextAppearance(R.style.collapsingToolbarLayoutTitleColor); 
+0

これは動作します、ありがとう! – Alexey

+0

プログラムテーマではなく、アプリケーションテーマ経由でsetExpandedTitleTextAppearanceとsetCollapsedTitleTextAppearanceを使用できますか? – Alexey

関連する問題