我想調整我的應用程式以適應 RTL 語言環境,但意外發現設定的影像com.google.android.material.button.MaterialButton不會自動鏡像。這是一個簡短的例子。
<com.google.android.material.button.MaterialButton
android:id="@ id/move_first"
style="@style/Widget.App.Button.IconButton"
android:layout_width="48dp"
android:layout_height="48dp"
app:icon="@drawable/ic_navigate_first"/>
僅圖示按鈕的樣式
<style name="Widget.App.Button.IconButton" parent="Widget.MaterialComponents.Button.TextButton.Icon">
<item name="iconTint">@null</item>
<item name="iconPadding">0dp</item>
<item name="android:insetTop">0dp</item>
<item name="android:insetBottom">0dp</item>
<item name="android:paddingLeft">12dp</item>
<item name="android:paddingRight">12dp</item>
<item name="android:minWidth">48dp</item>
<item name="android:minHeight">48dp</item>
</style>
和來源@drawable/ic_navigate_first:
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:autoMirrored="true"
android:viewportWidth="24.0"
android:viewportHeight="24.0">
<path
android:fillColor="#777777"
android:pathData="M18.41,16.59L13.82,12l4.59,-4.59L17,6l-6,6 6,6zM6,6h2v12H6z"/>
</vector>
以下是它在 en_US 語言環境中的外觀:

這是阿拉伯語的影像:

您會看到兩個語言環境中的箭頭圖示都指向左側,而它應該以阿拉伯語鏡??像并指向右側。任何想法如何解決這個問題?
uj5u.com熱心網友回復:
確保您已在應用清單中宣告您的應用支持 RTL 鏡像:
android:supportsRtl="true"
如果您將應用程式定位到 Android 4.2(應用程式的 targetSdkVersion 或 minSdkVersion 為 17 或更高版本),那么您應該使用“start”和“end”而不是“left”和“right”。例如,android:paddingLeft 應該變成 android:paddingStart。
uj5u.com熱心網友回復:
我正在使用
<item name="iconGravity">textTop</item>
我的按鈕上的樣式。將其更改為
<item name="iconGravity">textStart</item>
解決問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/416861.html
標籤:
