我的注册表单中有Edittext。当用户触摸edittext然后编辑文本框变为绿色(表示选择了编辑文本)我不想要这个。当用户选择任何edittext时,line blow edittext保持白色。please check this image for more clarification
Xml代码:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.science.character.fragments.Email_signup_Fragment">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".activities.Email_signupActivity"
>
<ImageView
android:id="@+id/img_backbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/backbutton1"/>
<TextView
android:id="@+id/text_sign_up"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/email_sign_up_text"
android:fontFamily="sans-serif-thin"
android:layout_marginTop="10dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:textColor="@android:color/white"
android:textSize="25dp"
/>
<RelativeLayout
android:id="@+id/relativelayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/text_sign_up"
android:layout_above="@+id/btn_create_account"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_centerInParent="true"
android:layout_marginTop="20dp"
>
<EditText
android:id="@+id/edittext_firstname"
android:layout_width="match_parent"
android:layout_height="60dp"
android:hint="first name"
android:text=""
android:fontFamily="sans-serif-light"
android:singleLine="true"
android:textAlignment="center"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_gravity="center_horizontal" />
<EditText
android:id="@+id/edittext_lastname"
android:layout_width="match_parent"
android:layout_height="60dp"
android:hint="last name"
android:text=""
android:fontFamily="sans-serif-light"
android:singleLine="true"
android:textAlignment="center"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal" />
<EditText
android:id="@+id/edittext_email"
android:layout_width="match_parent"
android:layout_height="60dp"
android:hint="email"
android:text=""
android:fontFamily="sans-serif-light"
android:singleLine="true"
android:textAlignment="center"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal" />
<EditText
android:id="@+id/edittext_password"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:text=""
android:inputType="textPassword"
android:fontFamily="sans-serif-light"
android:hint="Password"
android:singleLine="true"
android:textAlignment="center"
android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal" />
<EditText
android:id="@+id/edittext_confirm_password"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:inputType="textPassword"
android:text=""
android:fontFamily="sans-serif-light"
android:hint="Confirm Password"
android:textAlignment="center"
android:layout_marginTop="10dp"
android:layout_gravity="center_horizontal" />
</LinearLayout>
</RelativeLayout>
<Button
android:id="@+id/btn_create_account"
android:layout_width="match_parent"
android:layout_height="60dp"
android:text="@string/create_account_button"
android:textColor="@android:color/white"
android:fontFamily="sans-serif-light"
android:textSize="24dp"
android:textAllCaps="false"
android:background="@drawable/button_background"
android:layout_marginRight="30dp"
android:layout_marginLeft="30dp"
android:layout_marginBottom="20dp"
android:layout_centerHorizontal="true"
android:layout_above="@+id/text_terms_condition"
/>
<TextView
android:id="@+id/text_terms_condition"
android:layout_width="wrap_content"
android:layout_height="25dp"
android:text="@string/terms_and_conditions"
android:textColor="@android:color/white"
android:textSize="12dp"
android:fontFamily="sans-serif-thin"
android:textAllCaps="false"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
/>
</RelativeLayout>
答案 0 :(得分:0)
In your styles.xml
<style name="EditTextTheme">
<item name="colorControlNormal">#ffffff</item>
</style>
apply theme for edittext
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/EditTextTheme"/>
其他解决方案:在drawables中创建选择器xml文件
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffffff" />
<stroke android:width="1dip" android:color="#ff9900" />
</shape>
在edittext中添加此行
android:background="@drawable/xml name"
答案 1 :(得分:0)
转到 styles.xml 并将应用主题更改为:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/white</item> CHANGE THIS LINE
</style>
答案 2 :(得分:0)
我遇到了更改全局主题的问题,我只想要一个EditText而不是全部,所以设置全局样式不是正确的答案。
相反,我只是这样做了:
<android.support.design.widget.TextInputEditText
android:id="@+id/car_seller_notes_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Hint"
android:maxLength="1000"
android:background="@drawable/edit_text_myunderline"/>
<强> edit_text_myunderline.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<!-- Draw a 2dp width border around shape -->
<stroke android:color="@color/edit_text_underline_color" android:width="2dp" />
</shape>
</item>
<!-- Overlap the left, top and right border using background color -->
<item android:bottom="2dp">
<shape android:shape="rectangle">
<solid android:color="@color/window_background"/>
</shape>
</item>
</layer-list>
答案 3 :(得分:0)
使用最新资料库
app / build.gradle
implementation 'com.google.android.material:material:1.2.0-alpha06'
styles.xml
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.MaterialComponents.Light.Bridge">
<!-- Customize your theme here. -->
...
</style>
布局XML
<com.google.android.material.textfield.TextInputLayout
style="@style/Widget.MaterialComponents.TextInputLayout.FilledBox"
android:id="@+id/text_input_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="16dp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
>
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="User Name"
android:text="Chandler"
android:textCursorDrawable="@null"
/>
</com.google.android.material.textfield.TextInputLayout>
科特琳码
text_input_layout.boxStrokeColor = Color.CYAN
text_input_layout.defaultHintTextColor = ColorStateList.valueOf(Color.YELLOW)
text_input_layout.setErrorTextColor(ColorStateList.valueOf(Color.RED))
text_input_layout.setErrorIconTintList(ColorStateList.valueOf(Color.RED))
edit_text.backgroundTintList = ColorStateList.valueOf(Color.LTGRAY)
当文本字段被聚焦/选中/突出显示时: