googleの 新しい素材ボタン は本当に素晴らしいです。 ドキュメント に従って、デフォルトで左側に表示されるアイコンを設定できます。誰かがそれを右側に設定する方法を知っていますか?これについては何も見つかりません。
ありがとう。
私は今日同じ問題をグーグルで検索し、これを見つけました:Android:layoutDirection="rtl"
。私のテストプロジェクトで動作します。
リリースのendに新しい重力値があります 1.1.0-alpha06
_app:iconGravity
_属性またはメソッド setIconGravity()
を使用するだけです=。
Androidのマテリアルコンポーネントのバージョン1.1.0が必要です。
_app:iconGravity="end"
_を使用することもできます。
documentation によると:
開始位置合わせアイコンがこのボタンに追加される場合、デフォルトのMaterialButtonスタイルで指定された「.Icon」スタイルのいずれかのようなスタイルを使用してください。 「.Icon」スタイルは、視覚的なバランスを改善するためにパディングをわずかに調整します。このスタイルは、開始位置合わせアイコンボタンでのみ使用する必要があります。アイコンが端揃えになっている場合、「。Icon」スタイルを使用することはできず、代わりに視覚的な調整が反映されるように手動でパディングを調整する必要があります。
各ボタンにこの拡張メソッド(kotlin)を使用します。
fun MaterialButton.setRightIcon() {
TextViewCompat.setCompoundDrawablesRelative(this, null, null, this.icon, null)
}
MaterialButton
クラスを拡張して、あらゆる場所で使用します。
class RtlMaterialButton(context: Context, attrs: AttributeSet) : MaterialButton(context, attrs) {
override fun onMeasure(widthMeasureSpec: Int, heightMeasureSpec: Int) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec)
updateIcon()
}
private fun updateIcon() {
TextViewCompat.setCompoundDrawablesRelative(this, null, null, icon, null)
}
}
minSDK>=17
)アイコンにtextStart
重力を使用する場合は、Android:layoutDirection="rtl"
各ボタン。
セットする Android:supportsRtl="true"
アプリでAndroidManifest.xml
あなたの<Application>
鬼ごっこ