Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 为具有相同ID的多个textview设置textsize_Android_Fonts_Textview_Set - Fatal编程技术网

Android 为具有相同ID的多个textview设置textsize

Android 为具有相同ID的多个textview设置textsize,android,fonts,textview,set,Android,Fonts,Textview,Set,是否可以为具有相同ID的多个textview设置textsize?我有android:id:“@+id/lbl”?实际上,我根据文件夹值/dimen.xml设置了dp TextView lbl=(TextView) findViewById(R.id.lbl); lbl.setTextSize(dp); 第一个textview仅获得此效果,但其余textview未获得此效果。让我知道如何解决这个问题。您需要单独完成,因为每个activty/fragment/adapter都有自己的布局(xml

是否可以为具有相同ID的多个textview设置textsize?我有android:id:“@+id/lbl”?实际上,我根据文件夹值/dimen.xml设置了dp

TextView lbl=(TextView) findViewById(R.id.lbl);
lbl.setTextSize(dp);

第一个textview仅获得此效果,但其余textview未获得此效果。让我知道如何解决这个问题。

您需要单独完成,因为每个activty/fragment/adapter都有自己的布局(xml)。在R.java中,它们有自己的唯一编号

   android:textSize="24sp"

每次在XML中添加视图时,只需添加文本大小即可获得父视图的所有文本视图。然后在android平台中循环检查它们的id,每个视图必须有一个由视图的“android:id”属性标识的唯一id。虽然您可以使用相同的id定义多个视图,但android会首先声明,并将rest视图保留为没有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" />
在R.java中,只有一个textview声明了它的id(这个十六进制id是在您第一次运行代码时由平台编译器自己创建的)

所以,尽管应用程序在编译时或运行时不会产生任何错误,但也不会对具有相同id的任何其他视图执行任何操作,除了第一个视图,因为只有一个引用属于第一个textview

根据帖子,这里是你可以做的:

视图ID是纯整数,因此您可以简单地拥有一个要更改的ID数组。例如:

int[] ids = { R.id.lbl1, R.id.lbl2, ... };
for (int id: ids) {
TextView lbl=(TextView) findViewById(id);
lbl.setTextSize(dp);
}


这将起作用。

是的,我知道如何在布局中设置,但我练习从dimens加载值。xmlandroid:textSize=“@dimen/thround”
int[] ids = { R.id.lbl1, R.id.lbl2, ... };
for (int id: ids) {
TextView lbl=(TextView) findViewById(id);
lbl.setTextSize(dp);