是否可以爲具有相同ID的多個文本視圖設置文本大小?我有他們與android:id:「@ + id/lbl」?其實我設置DP基於文件夾值/ dimen.xml爲同一個ID的多個文本視圖設置文本大小
TextView lbl=(TextView) findViewById(R.id.lbl);
lbl.setTextSize(dp);
第一TextView的只得到這樣的效果,但是TextView的其餘沒得到這樣的效果。讓我知道如何解決這個問題。
是否可以爲具有相同ID的多個文本視圖設置文本大小?我有他們與android:id:「@ + id/lbl」?其實我設置DP基於文件夾值/ dimen.xml爲同一個ID的多個文本視圖設置文本大小
TextView lbl=(TextView) findViewById(R.id.lbl);
lbl.setTextSize(dp);
第一TextView的只得到這樣的效果,但是TextView的其餘沒得到這樣的效果。讓我知道如何解決這個問題。
因爲每個活動/片段/適配器都有自己的佈局(xml),所以您需要單獨執行此操作。在R.java中,他們將擁有自己的唯一編號。
android:textSize="24sp"
每當你在XML中添加視圖,只需添加文本大小
在Android平臺上,每個視圖必須具有由「android:id」屬性視圖標識的唯一ID。雖然你可以使用相同的id定義多個視圖,但是android非常首先聲明並且將其餘視圖保留爲沒有id。 讓現在有一個例子:
<TextView
android:id="@+id/response_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="27dp"
android:layout_toLeftOf="@+id/scan_format"
android:text="TextView" />
<TextView
android:id="@+id/response_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/response_text"
android:layout_marginBottom="74dp"
android:layout_toLeftOf="@+id/response_text"
android:text="Trepeattet" />
這裏有兩個textviews具有相同的ID,和現在看到R.java
public static final int radio=0x7f05002f;
public static final int response_text=0x7f050040;
public static final int scan_button=0x7f05003c;
public static final int scan_content=0x7f05003e;
public static final int scan_format=0x7f05003d;
在R.java
只有一個TextView的聲明與它的ID(此十六進制當你第一次運行你的代碼時,id是由平臺編譯器自己創建的)。
因此,雖然應用程序在編譯時或運行時不會產生任何錯誤,但不會對任何具有相同ID的其他視圖執行任何操作,除非是第一個視圖,因爲只有一個可用的屬於第一個textview的視圖。
按這裏this職位是你可以做什麼:
查看ID爲普通整數,所以你可以簡單地有要更改ID數組。例如:
int[] ids = { R.id.lbl1, R.id.lbl2, ... };
for (int id: ids) {
TextView lbl=(TextView) findViewById(id);
lbl.setTextSize(dp);
}
這將工作。
是的我知道如何設置佈局,但我練習從dimens.xml加載值 – user3172337
android:textSize =「@ dimen/twenty_two」< - 你也可以做到這一點 – Deejaygeekout