[解決済み] TabLayoutのインジケーターの色と高さを変更する方法
2022-06-25 01:42:11
質問
私は、新しい
android.support.design.widget.TabLayout
で遊んでいて、問題を見つけました。クラス定義では、インジケータの色とデフォルトの高さを変更するメソッドがありません。
調べてみると、デフォルトのインジケーターの色は、AppThemeから取得されていることがわかりました。具体的には、ここからです。
<item name="colorAccent">#FF4081</item>
さて、私の場合、このように
colorAccent
を変更すると、この値を背景色として使用している他のすべてのビュー、たとえば ProgressBar に影響を及ぼします。
さて、indicatorColorを以下のように他のものに変更する方法はありますか?
colorAccent
?
どのように解決するのですか?
新しいTabLayoutが、インジケータの色を値
colorAccent
の値からインジケータの色を使用することに問題があるため、私は
android.support.design.widget.TabLayout
の実装を調べてみたところ、これをカスタマイズするためのパブリックメソッドがないことがわかりました。しかし、TabLayoutのスタイル指定にこんなものがあった。
<style name="Base.Widget.Design.TabLayout" parent="android:Widget">
<item name="tabMaxWidth">@dimen/tab_max_width</item>
<item name="tabIndicatorColor">?attr/colorAccent</item>
<item name="tabIndicatorHeight">2dp</item>
<item name="tabPaddingStart">12dp</item>
<item name="tabPaddingEnd">12dp</item>
<item name="tabBackground">?attr/selectableItemBackground</item>
<item name="tabTextAppearance">@style/TextAppearance.Design.Tab</item>
<item name="tabSelectedTextColor">?android:textColorPrimary</item>
</style>
このスタイル指定があれば、あとはTabLayoutをこのようにカスタマイズすることができます。
<android.support.design.widget.TabLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@id/pages_tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:tabIndicatorColor="@android:color/white"
app:tabIndicatorHeight="4dp"/>
そして問題は解決し、タブインジケータの色と高さの両方をデフォルト値から変更することができます。
関連
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] TextViewでテキストを水平・垂直方向にセンタリングするには?
-
[解決済み] Androidでプログレスバーの進行色を変更する方法
-
Android Studio を 3.6.3 にアップデートした後、構成 :classpath のアーティファクトをすべて解決できない。
-
Google PlayデバイスはPlay保護機構の認証を受けていません。
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] match_parentとfill_parentの違いは何ですか?
-
[解決済み] ロリポップの最新版Chromeでヘッダーバーやアドレスバーの色を変更する方法とは?
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
adb シェルがデバイスのオフラインを求めるプロンプトを表示する
-
aapt2エラー:ログを確認する(具体的な原因の探り方)
-
android E/RecyclerView﹕ アダプタが接続されていないため、レイアウトをスキップする。
-
android studioが "The activity must be exported or contain an intent-filter" と表示され実行される。
-
WeChatとQQは、他のアプリのオープンリストに自分のアプリを追加し、ファイルパスを取得することができます
-
view.getRootView()の本当の意味とテストについて
-
ConstraintLayoutのいくつかのプロパティの概要(RelativeLayoutの強化版、LinearLayoutの比例プロパティを含む、階層ツールの削減)。
-
android bluetooth--Bluetooth on、検索、ペアリング、接続
-
android.content.ActivityNotFoundException を解決します。Intent問題を処理するActivityが見つからない
-
[解決済み] TabLayoutでタブの背景色を変更するには?