我正在改变android studio中密码的背景颜色,问题是当我更改密码字段的背景颜色时,屏幕的整个背景颜色变化。 在应用背景颜色之前:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#201953"
>
<TextView
android:text="Trip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView1"
android:textSize="80sp"
android:textStyle="bold"
android:layout_gravity="center_horizontal"
android:layout_marginTop="80dp"
android:textColor="@color/colorWhite"/>
<TextView
android:text="mat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView2"
android:textSize="50sp"
android:textStyle="bold"
android:layout_gravity="center_horizontal"
android:layout_marginTop="-10dp"
android:layout_marginLeft="30dp"
android:textColor="@color/colorWhite"/>
<EditText
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/editText4"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:hint="Password"
android:gravity="center"
android:textColor="@color/colorBlack"
android:layout_gravity="center"
/>
</LinearLayout>
在将背景颜色添加到密码字段布局之前,请执行以下操作:
将背景颜色应用于密码字段后:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#201953"
>
<TextView
android:text="Trip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView1"
android:textSize="80sp"
android:textStyle="bold"
android:layout_gravity="center_horizontal"
android:layout_marginTop="80dp"
android:textColor="@color/colorWhite"/>
<TextView
android:text="mat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView2"
android:textSize="50sp"
android:textStyle="bold"
android:layout_gravity="center_horizontal"
android:layout_marginTop="-10dp"
android:layout_marginLeft="30dp"
android:textColor="@color/colorWhite"/>
<EditText
android:layout_marginTop="10dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/editText4"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:hint="Password"
android:gravity="center"
android:textColor="#ffffff"
android:layout_gravity="center"
android:background="#fff"
/>
</LinearLayout>
将背景颜色添加到密码字段后,布局如下:
答案 0 :(得分:1)
这样可以正常使用
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#201953" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="#201953">
<TextView
android:text="Trip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView1"
android:textSize="80sp"
android:textStyle="bold"
android:layout_gravity="center_horizontal"
android:layout_marginTop="80dp"
android:textColor="@color/whiteTextColor"/>
<TextView
android:text="mat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView2"
android:textSize="50sp"
android:textStyle="bold"
android:layout_gravity="center_horizontal"
android:layout_marginTop="-10dp"
android:layout_marginLeft="30dp"
android:textColor="@color/whiteTextColor"/>
<EditText
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:layout_gravity="center"
android:layout_margin="10dp"
android:id="@+id/editText4"
android:hint="Password"
android:background="#ffffff"
/>
</LinearLayout>
</LinearLayout>
答案 1 :(得分:1)
无需为此获取第二个LinearLayout
,只需从EditText中删除android:gravity="center"
,如下所示。它的工作原理
<?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="match_parent"
android:background="#201953"
android:orientation="vertical">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="80dp"
android:text="Trip"
android:textColor="@color/colorWhite"
android:textSize="80sp"
android:textStyle="bold" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginLeft="30dp"
android:layout_marginTop="-10dp"
android:text="mat"
android:textColor="@color/colorWhite"
android:textSize="50sp"
android:textStyle="bold" />
<EditText
android:id="@+id/editText4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginLeft="40dp"
android:layout_marginRight="40dp"
android:layout_marginTop="10dp"
android:background="@drawable/edt_background"
android:ems="10"
android:gravity="center"
android:hint="Password"
android:inputType="textPassword"
android:textColor="#ffffff" />
</LinearLayout>
<强> edt_background.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="#ffff" />
<corners
android:bottomRightRadius="1dp"
android:bottomLeftRadius="1dp"
android:topLeftRadius="1dp"
android:topRightRadius="1dp" />
</shape>
使用android:background="@drawable/edt_background"
重力,因为我更新了整个代码
答案 2 :(得分:0)
您可以通过在以下任何需要的地方的java类中放置以下代码来更改背景颜色
Edittext password;
password.setBackgroundColor(getResources().getColor(R.color.samplecolor));
//here R.color.samplecolor is defined in colors.xml under values dir