将drawable设置为Edittext背景时,Relativelayout变为灰色

时间:2018-01-19 10:06:05

标签: android background android-relativelayout

我为EditText创建了一个drawable,并将其设置为背景( @ drawable / edttxt_bg2 )到EditText。当我将drawable设置为视图时,父RelativeLayout在设计预览中变为灰色。我尝试清理和重建项目,并使缓存无效。这样做后,它显示正确。每当我对视图进行更改时,它都会将 RelativeLayout颜色更改回灰色。

upload_lyt.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ffffff"
    xmlns:app="http://schemas.android.com/apk/res-auto"
>
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/edt_txt_bg"
    android:layout_marginTop="@dimen/rgstr_mrgn_top"
    android:layout_marginLeft="@dimen/rgstr_mrgn_sides"
    android:layout_marginRight="@dimen/rgstr_mrgn_sides">
<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="20sp"
    android:id="@+id/upload_lbl"
    android:textColor="#ffffff"
    android:background="#1565C0"
    android:text="ENTER THE PAGE DETAILS"
    android:gravity="center"
    />
    <EditText
        android:layout_width="match_parent"
        android:layout_height="@dimen/rgstr_edtxt_hght"
        android:layout_below="@+id/upload_lbl"
        android:background="@drawable/edttxt_bg2"
        android:id="@+id/fb_uri"
        android:gravity="center"
        android:inputType="textPersonName"
        android:layout_marginTop="@dimen/upld_edttxt_mrgn_top"/>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="@dimen/rgstr_edtxt_hght"
        android:layout_below="@+id/fb_uri"
        android:background="@drawable/edttxt_bg2"
        android:id="@+id/price"

        android:gravity="center"
        android:inputType="numberDecimal"
        />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/price"
        android:id="@+id/qstnlbl"
        android:gravity="center"
        android:textSize="20sp"
        android:layout_marginTop="@dimen/rgstr_edttxt_mrgn_top"
        android:text="Where is the page mostly targetted? Care to specify location?"
        />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/qstnlbl"
        android:textSize="20sp"
        android:id="@+id/neg_lbl"
        android:text="Negotiable?"
        android:gravity="center"
        android:layout_marginTop="@dimen/rgstr_edttxt_mrgn_top"/>
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/neg_lyt"
        android:layout_marginTop="@dimen/neg_mrgn_top"
        android:layout_below="@+id/neg_lbl">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20sp"
            android:id="@+id/no"
            android:text="No"
            android:layout_centerVertical="true"
            android:layout_marginStart="@dimen/neg_mrgn_sds"

            />
        <com.suke.widget.SwitchButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:id="@+id/switch1"
            app:sb_uncheckcircle_width="0dp"
            app:sb_uncheckcircle_color="@android:color/transparent"
            app:sb_checkline_width="0dp"
            app:sb_button_color="#1565C0"
            app:sb_checkline_color="@android:color/transparent"
            app:sb_uncheck_color="#1565C0"
            app:sb_checked_color="#1565C0"
            android:layout_centerHorizontal="true"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/yes"
            android:text="Yes"
            android:textColor="#1565C0"
            android:textSize="20sp"
            android:layout_alignParentEnd="true"
            android:layout_centerVertical="true"
            android:layout_marginEnd="@dimen/neg_mrgn_sds">

        </TextView>

    </RelativeLayout>
    <Button
        android:layout_below="@+id/neg_lyt"
        android:layout_marginTop="@dimen/rgstr_btn_top"
        android:background="@drawable/otp_btn"
        android:textColor="#ffffff"
        android:text="UPLOAD"
        android:id="@+id/upload"
        android:layout_marginBottom="30dp"
        android:layout_marginRight="@dimen/rgstr_btn_mrgn_sides"
        android:layout_marginLeft="@dimen/rgstr_btn_mrgn_sides"
        android:layout_width="match_parent"
        android:layout_height="@dimen/rgstr_btn_hght"
        android:layout_centerHorizontal="true"/>

</RelativeLayout>
</RelativeLayout>

@绘制/ edttxt_bg2:

<?xml version="1.0" encoding="utf-8"?>
<shape 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid 
        android:color="#FAFAFA">
    </solid>
    <stroke 
        android:color="#1565C0"
        android:width="0.5dp">
    </stroke>
</shape>

@绘制/ edt_txt_bg

<?xml version="1.0" encoding="utf-8"?>
<layer-list>
<item
    xmlns:android="http://schemas.android.com/apk/res/android"
  android:top="-2dp"
  android:bottom="2dp"
    android:left ="-2dp"
    android:right="-2dp">

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
<solid
    android:color="#ffffff"></solid>

    <stroke
        android:color="#1565C0"
        android:width="0.5dp">

    </stroke>
</shape>
</item>
</layer-list>

布局图片: enter image description here

2 个答案:

答案 0 :(得分:0)

从@ drawable / edt_txt_bg中删除这些行。它会起作用。您尚未为笔划定义任何固定尺寸。这是主要原因。

<stroke
    android:color="#1565C0"
    android:width="0.5dp">

</stroke>

答案 1 :(得分:0)

如果您想使用自定义操作栏,请不要强制更改布局xml中的Theme,在styles.xml中实施新样式。

<style name="CustomTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="contentInsetStart">0dp</item>
    <!--<item name="contentInsetEnd">0dp</item>-->
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:homeAsUpIndicator">@null</item>
</style>

然后在AndroidManifest.xml中,将此主题设置为activityapplication标记。

android:theme="@style/CustomTheme"

希望它有所帮助。