【问题标题】:not able to set typeface on include layout childviews无法在包含布局子视图上设置字体
【发布时间】:2017-10-09 06:55:01
【问题描述】:

我有在每个布局中重复的 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>

现在我的问题是我无法为那些包含布局的文本视图设置字体。

我试过这个链接: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(直接方法),它也不起作用。 谢谢。

【问题讨论】:

  • 您想在整个应用程序中使用相同的字体/样式还是只使用特定的布局?
  • 我想要的是访问 childview .. 它不仅仅是关于字体.. 这只是一个例子..
  • 您的第一个联系人管理器布局在同一个xml文件中?
  • 是的..所有布局都在滚动视图中..
  • 问题是您对所有包含使用相同的 id。尝试给所有包含一个唯一的 ID

标签: android android-layout include findviewbyid


【解决方案1】:

您对所有包含使用相同的 id。尝试为所有包含提供一个唯一的 ID。

【讨论】:

    猜你喜欢
    • 2013-10-21
    • 2014-11-05
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 2011-12-22
    相关资源
    最近更新 更多