无法在包含布局子视图上设置字体
not able to set typeface on include layout childviews
我有在每个布局中重复的 textview 和 edittext,所以我使用 include tag 来避免 重复。
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout2"
android:overScrollMode="never">
<LinearLayout
android:id="@+id/llEmployee"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/llCompany"
layout="@layout/layout_company" />
</LinearLayout>
<LinearLayout
android:id="@+id/llContactor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/llCompany"
layout="@layout/layout_company" />
</LinearLayout>
<LinearLayout
android:id="@+id/llManager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/llCompany"
layout="@layout/layout_company" />
</LinearLayout>
</ScrollView>
layout_company.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/llCompany"
android:orientation="vertical"
tools:showIn="@layout/activity_verify">
<TextView
android:id="@+id/txtCompanyName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:text="@string/companyname"
android:textColor="@color/greyLight" />
<EditText
android:id="@+id/edtCompanyName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:imeOptions="actionNext"
android:inputType="text"
android:maxLines="1"
android:textColor="@color/black"
android:textSize="16sp"
android:theme="@style/MyEditTextTheme" />
</LinearLayout>
现在我的问题是我无法为那些包含布局的文本视图设置字体。
我试过这个 link:findViewById not working for an include?
但它对我不起作用..有什么我遗漏的吗?
在 java 文件中:
LinearLayout view = (LinearLayout) findViewById(R.id.llCompany);
txtCompanyName = (TextView)view.findViewById(R.id.txtCompanyName);
edtCompanyName = (EditText) view.findViewById(R.id.edtCompanyName);
txtCompanyName.setTypeface(Glob.avenir(context));
edtCompanyName.setTypeface(Glob.avenir(context));
我也试过没有id(直接方法),它也不起作用。
谢谢。
您对所有包含使用相同的 ID。尝试为所有包含项提供唯一 ID。
我有在每个布局中重复的 textview 和 edittext,所以我使用 include tag 来避免 重复。
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayout2"
android:overScrollMode="never">
<LinearLayout
android:id="@+id/llEmployee"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/llCompany"
layout="@layout/layout_company" />
</LinearLayout>
<LinearLayout
android:id="@+id/llContactor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/llCompany"
layout="@layout/layout_company" />
</LinearLayout>
<LinearLayout
android:id="@+id/llManager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:visibility="gone">
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/llCompany"
layout="@layout/layout_company" />
</LinearLayout>
</ScrollView>
layout_company.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/llCompany"
android:orientation="vertical"
tools:showIn="@layout/activity_verify">
<TextView
android:id="@+id/txtCompanyName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:text="@string/companyname"
android:textColor="@color/greyLight" />
<EditText
android:id="@+id/edtCompanyName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:imeOptions="actionNext"
android:inputType="text"
android:maxLines="1"
android:textColor="@color/black"
android:textSize="16sp"
android:theme="@style/MyEditTextTheme" />
</LinearLayout>
现在我的问题是我无法为那些包含布局的文本视图设置字体。
我试过这个 link:findViewById not working for an include?
但它对我不起作用..有什么我遗漏的吗?
在 java 文件中:
LinearLayout view = (LinearLayout) findViewById(R.id.llCompany);
txtCompanyName = (TextView)view.findViewById(R.id.txtCompanyName);
edtCompanyName = (EditText) view.findViewById(R.id.edtCompanyName);
txtCompanyName.setTypeface(Glob.avenir(context));
edtCompanyName.setTypeface(Glob.avenir(context));
我也试过没有id(直接方法),它也不起作用。 谢谢。
您对所有包含使用相同的 ID。尝试为所有包含项提供唯一 ID。