Подтвердить что ты не робот

Edittext меняет цвет границы с помощью shape.xml

Я делаю файл shape.xml в папке res → drawable.

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
        <solid android:color="#ffffff" />
        <stroke android:width="1dip" android:color="#ff9900" />
</selector>

И затем я использую его на EditText:

<EditText
    android:layout_width="300dp"
    android:layout_height="50dp"
    android:id="@+id/editText"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="300dp"
    android:hint="@string/hint"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:singleLine="true"
    android:background="@drawable/shape"/>

Но результат заключается в том, что он вообще не меняет цвет рамки. Почему, что не так?

4b9b3361

Ответ 1

Зачем использовать selector в качестве корневого тега? selector используется для применения нескольких альтернативных чертежей для разных состояний представления, поэтому в этом случае нет необходимости в selector.

Попробуйте использовать следующий код.

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Background Color -->
    <solid android:color="#ffffff" />

    <!-- Border Color -->
    <stroke android:width="1dp" android:color="#ff9900" />

    <!-- Round Corners -->
    <corners android:radius="5dp" />

</shape>

Также стоит отметить, что все цветные записи поддерживают альфа-канал, а это значит, что вы можете иметь прозрачные или полупрозрачные цвета. Например #RRGGBBAA.

Ответ 2

Шаг 1: Создайте border.xml в папке с возможностью рисования

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <corners
        android:radius="2dp"
        />
    <solid android:color="#ffffff"
        />
    <stroke
        android:width="2dip"
        android:color="#000" />
</shape>

Шаг 2. Создание файла EditText в XML файле

 <EditText
        android:id="@+id/etEmail"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="25dp"
        android:layout_marginTop="25dp"
        android:hint="Enter Email"
        android:padding="10dp"
        android:layout_marginRight="25dp"
        android:background="@drawable/border"
        android:inputType="textEmailAddress"
        android:singleLine="true" />

Ответ 3

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
     android:shape="rectangle">
     <solid android:color="#ffffff" />
     <stroke android:width="1dip" android:color="#ff9900" />
 </selector>

Вам нужно удалить > из тэга selector root, как показано ниже

   <selector xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">

Кроме того, переместите код shape с selector.

Ответ 4

Селектор

используется для применения нескольких альтернативных чертежей для различного состояния представления, поэтому в этом случае нет необходимости в селекторе

вместо этого используйте форму

<?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>

Ответ 5

Я использую для этого следующее:

edittext_style.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:thickness="0dp"
android:shape="rectangle">
<stroke android:width="1dp"
        android:color="#c8c8c8"/>
<corners android:radius="0dp" />

И применен как внизу

<EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:ems="10"
            android:id="@+id/editTextName"
            android:background="@drawable/edit_text_style"/>

попробуйте вот так.

Ответ 6

Используйте этот код в xml. я надеюсь, что это будет работа.

<?xml version="1.0" encoding="utf-8" ?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
           android:thickness="0dp"
           android:shape="rectangle">
      <stroke android:width="3dp"
             android:color="#4799E8"/>
      <corners android:radius="5dp" />
      <gradient
       android:startColor="#C8C8C8"
       android:endColor="#FFFFFF"
       android:type="linear"
       android:angle="270"/>
    </shape>

Ответ 7

Используйте root tag как shape вместо selector в вашем файле shape.xml, и он решит вашу проблему!

Ответ 8

Это работа для меня: Drwable-> New-> Drawable Resource File-> create xml file

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

Ответ 9

Проверьте приведенный ниже код, возможно, вам поможет. Использование обводки может сделать рамку в редактируемом тексте и изменить ее цвет, как показано ниже...

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp"
android:shape="rectangle">
<stroke
    android:width="2dp"
    android:color="@color/secondary" />
<corners
    android:bottomLeftRadius="10dp"
    android:bottomRightRadius="10dp"
    android:topLeftRadius="10dp"
    android:topRightRadius="10dp" />

Добавьте это в качестве фона для редактирования текста. Спасибо!