簡體   English   中英

使用不同的語言區域設置更改textSize

[英]change textSize with different language locale

我已經在我的應用程序中添加了西班牙語和法語,但是一些措辭比西班牙語更長,然后是英語。 如何在訪問values-es / string.xml文件時更改textsize

您可以使用dimens.xml資源文件來實現此目的。 在您的情況下,您可能想要創建一個名為res/values-es/dimens.xml ,也可能還要創建一個-fr版本的文件。 您可以在res/values/dimens.xml (或res/values-en/dimens.xml dimens.xml中)指定默認值,如果您想更具體的話。

從developer.android.com上的“ 更多資源類型”部分獲取的示例:

dimens.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <dimen name="textview_height">25dp</dimen>
    <dimen name="textview_width">150dp</dimen>
    <dimen name="ball_radius">30dp</dimen>
    <dimen name="font_size">16sp</dimen>
</resources> 

在xml中應用

<TextView
    android:layout_height="@dimen/textview_height"
    android:layout_width="@dimen/textview_width"
    android:textSize="@dimen/font_size"/>

或者在代碼中

float fontSize = getResources().getDimension(R.dimen.font_size);

SO上也有解決方案,使用迭代/遞歸過程將TextView的文本大小縮小到其邊界框中“適合”(使用自定義視圖),但我上面說的是一種更強大的方法,尤其是如果您考慮將來添加更多語言。

以上解釋是正確的,但它們並沒有完全解釋如何做到這一點。

當您在Android Studio中打開項目時,它會自動以“ Android ”模式顯示該項目。 您需要點擊Android Studio左上角的“Android”標簽,然后選擇“ 項目 ”。 然后你需要進入“ app> src> main> res ”。 然后,您需要右鍵單擊res ”文件夾,然后從出現的菜單中選擇“ 新建> Android資源目錄 ”。 將出現一個對話框,對於目錄名稱:鍵入values-es並單擊“ 確定”

這將為所有西班牙語語言環境值創建一個文件夾。 然后,您可以右鍵單擊values-es文件夾以創建dimens.xmlstring.xmlcolor.xml等。 在手機中選擇西班牙語區域設置時將使用的文件。

如果您已經通過圖形用戶界面為西班牙語語言環境創建了一個string.xml文件,則當您去那里時,帶有string.xml文件的values-es文件夾已經在項目中。 在這種情況下,您只需右鍵單擊 values-es文件夾即可為其創建西班牙語區域設置的dimens.xml文件。

您需要在layout-es中指定不同的布局文件。 這樣,當Android從values-es / string.xml中提取時,它將加載不同的layout-es / yourfile.xml。 然后,該布局文件可以在視圖上指定主題,樣式或文本大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM