【问题标题】:TextColor and other change on dynamically add view动态添加视图的 TextColor 和其他更改
【发布时间】:2016-12-26 15:02:10
【问题描述】:

我有一个活动并在其上动态添加一些视图。动态编辑文本的 textcolor 和 colorfilter 不同,我很困惑为什么? 我的复选框也有同样的问题。 有谁可以帮忙?

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent"
android:layout_width="match_parent"
app:cardBackgroundColor="@color/cardview_light_background"
android:layout_marginTop="5dp"
android:layout_marginRight="5dp"
android:layout_marginLeft="5dp">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="right|center_vertical"
        android:id="@+id/txtSearchSpecialAttrTitle"
        android:padding="5dp"/>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/SearchSpecialAttrEditText"
        android:gravity="right|center_vertical"
        android:inputType="number"
        android:theme="@style/Theme.App.Base"
        />
</LinearLayout>

</android.support.v7.widget.CardView>

这就是我将其添加到我的活动的方式。

LinearLayout llSpecialAttribsContainer = (LinearLayout) activityWeakReference.get().findViewById(R.id.llSearchSpecialAttributesContainer);
CardView cardView = (CardView) Global.inflater.inflate(R.layout.search_int_field_schema, llSpecialAttribsContainer, false);
                                TextView txtTitle = (TextView) cardView.findViewById(R.id.txtSearchSpecialAttrTitle);
                                txtTitle.setText(specialAttrib.persianFieldName);

                                EditText editText = (EditText) cardView.findViewById(R.id.SearchSpecialAttrEditText);
                                editText.getBackground().setColorFilter(Global.appContext.getResources().getColor(R.color.appBarColor), PorterDuff.Mode.SRC_IN);
                                editText.setTag(specialAttrib.fieldName);

                                llSpecialAttribsContainer.addView(cardView);

任何帮助???

添加了完整的 XML

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_gravity="center">
    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginLeft="5dp">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:text="فیلتر جستجو" />
    </android.support.v7.widget.CardView>

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginLeft="5dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:animateLayoutChanges="true"
        android:padding="10dp">

        <Spinner
            android:id="@+id/activitySearch_Spinner_Parent"
            android:layout_width="300dp"
            android:layout_height="50dp"
            android:layout_gravity="center">
            <requestFocus/>
        </Spinner>

        <Spinner
            android:id="@+id/activitySearch_Spinner_Child"
            android:layout_width="300dp"
            android:layout_height="50dp"
            android:visibility="gone"
            android:layout_gravity="center"
            android:layout_marginTop="5dp"/>

        <Spinner
            android:id="@+id/activitySearch_Spinner_GrandChild"
            android:layout_width="300dp"
            android:layout_height="50dp"
            android:visibility="gone"
            android:layout_gravity="center"
            android:layout_marginTop="5dp"
            android:layout_marginBottom="5dp"/>
    </LinearLayout>

    </android.support.v7.widget.CardView>

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginLeft="5dp">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:orientation="horizontal"
        android:padding="5dp">

        <EditText
            android:id="@+id/edtSearchMaxPrice"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_marginRight="5dp"
            android:layout_weight=".35"
            android:inputType="number"
            android:layout_gravity="center"/>

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginRight="5dp"
            android:layout_weight=".15"
            android:gravity="center"
            android:text=" تا " />

        <EditText
            android:id="@+id/edtSearchMinPrice"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_marginRight="5dp"
            android:layout_weight=".35"
            android:inputType="number"
            android:gravity="center">
            <requestFocus/>
        </EditText>

        <TextView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_marginRight="5dp"
            android:layout_weight=".15"
            android:gravity="center"
            android:text="قیمت از "
            android:layout_gravity="center"/>

    </LinearLayout>

    </android.support.v7.widget.CardView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/llSearchSpecialAttributesContainer"
        android:orientation="vertical"
        android:animateLayoutChanges="true"
        android:background="@color/cardview_light_background">

    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:weightSum="1">
        <LinearLayout
            android:layout_width="0dp"
            android:layout_weight=".5"
            android:layout_height="match_parent">
            <android.support.v7.widget.AppCompatButton
                android:id="@+id/btnSubmitSearch"
                style="?attr/buttonBarButtonStyle"
                android:layout_width="0dp"
                android:layout_weight=".6"
                android:layout_height="70dp"
                android:text="اعمال فیلتر"
                android:textColor="@color/appBarColor"
                android:layout_margin="5dp"
                android:gravity="center"/>

            <android.support.v7.widget.AppCompatButton
                android:id="@+id/btnCancelSearch"
                style="?attr/buttonBarButtonStyle"
                android:layout_width="0dp"
                android:layout_weight=".4"
                android:layout_height="70dp"
                android:text="لغو"
                android:textColor="@color/appBarColor"
                android:layout_marginLeft="0dp"
                android:layout_marginTop="5dp"
                android:layout_marginBottom="5dp"
                android:layout_marginRight="5dp"
                android:gravity="center" />

        </LinearLayout>



    </LinearLayout>
</LinearLayout>

【问题讨论】:

  • 请发布完整的xml文件
  • 完整的 xml 发布 @SaurabhBhandari
  • 你需要为你想要动态添加editText的线性布局提供id。并在您的课堂上获得参考。更多ifo请关注stackoverflow.com/questions/10666019/…
  • 我已经将线性布局的 id 设置为“llSearchSpecialAttributesContainer”。膨胀的视图添加成功,但问题是添加的 Edittexts 的 textcolor 与其他不同@SaurabhBhandari

标签: android android-edittext android-checkbox colorfilter


【解决方案1】:

我必须获得活动充气机,但我从应用程序上下文中获得充气机,这导致动态视图没有应用程序主题!

最好的问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    相关资源
    最近更新 更多