2017-06-26 17 views
0

私は現在チャットアプリケーションを開発しています。チャットアクティビティのヘッダーをクリック可能にして別のアクティビティを開始できるようにしたいと思います。リップルアニメーションの色が他のナビゲーションボタンと異なるためカスタムアクションバーのボタンスタイルの色の問題

<TextView 
xmlns:android="http://schemas.android.com/apk/res/android" 
style="@style/Widget.AppCompat.Toolbar.Button.Navigation" 
android:id="@+id/actionbarTitle" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:clickable="true" 
android:text="@string/app_name" 
android:textColor="#FFFFFF" 
android:textSize="20sp" /> 

はしかし、これはネイティブのアクションバーのスタイルと一致していません:私は、カスタムアクションバーとこのレイアウトのコードでこの作業を持っている

enter image description here
これは、ネイティブボタンの外観です。

enter image description here
これは、クリックしたときのテキストの表示です。

これをネイティブUIのように変更するにはどうすればよいですか?アクションボタンに

答えて

1

リップルサイズ

波紋は、API 23はTextViewにこれを追加するので、直径40dpです:

android:background="?selectableItemBackgroundBorderless" 

style属性を削除します。意味を理解することなくスタイルを乱用しないでください。これはナビゲーションボタンではありません。

あなたはそのテーマが正しく解決されるよう?selectableItemBackgroundBorderlessなどの属性ので景色を膨張させるときに最も中間コンテキストを取得する必要があります

リップル色。

オプションA)

することができますが、XMLレイアウトファイルでのごToolbarで直接TextView

オプションB)

Toolbar

から前記LayoutInflaterを使用するツールバーに手動TextViewを追加する場合。

val context = toolbar.context 
val inflater = LayoutInflater.from(context) 

オプションc)

このTextViewとしてActionBarカスタムビューがアクションバーのテーマのコンテキストを使用して設定します。

val context = supportActionBar!!.themedContext 
val inflater = LayoutInflater.from(context) 

あなたは光のアクションバーの使用を開始する場合には、テーマから継承された標準フォントサイズやテキストカラーの

android:textAppearance="@style/TextAppearance.Widget.AppCompat.Toolbar.Title" 

android:textColor="#FFFFFF" 
android:textSize="20sp" 

置き換え

テキストの色。

+0

答えをくれてありがとうが、私はそれを試しましたが、リップルはまだ3倍の大きさなので、ネイティブのようには見えません。これ以上のアイデアは? – Twometer

+0

@Twometer設定された半径のないリップルは、ビューの周りに円として描かれます。 'android:layout_width =" wrap_content "'はこのトリックを行います。 –

+0

ありがとうございました、テーマの文脈はそれを修正:)、今完璧に見えます。 – Twometer