Измените стиль Android EditText с прямоугольной границы на подчеркивание

В одном из моих действий мои представления EditText выглядели так

введите здесь описание изображения

Но сейчас они выглядят так

введите здесь описание изображения

Мне нужна помощь, чтобы изменить его обратно: с прямоугольника на подчеркивание.

ОБЩАЯ ИНФОРМАЦИЯ

Поскольку мне нужно было создать пользовательскую панель действий, мне пришлось изменить тему рассматриваемого действия, YesterdayActivity, используя следующие

Стиль:

<style name="CustomWindowTitleBackground">
        <item name="android:background">#323331</item>
    </style>

    <style name="CustomTheme" parent="android:Theme">
        <item name="android:windowTitleSize">40dip</item>
        <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
    </style>

Манифест:

  <activity
        android:name="com.example.YesterdayActivity"
        android:theme="@style/CustomTheme">
    </activity>

при создании:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.activity_yesterday);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.yesterday_title_bar);
…
}

person Cote Mounyo    schedule 12.07.2013    source источник
comment
Вы хотите сделать подчеркивание edittext?   -  person TheFlash    schedule 12.07.2013
comment
Я просто хочу вернуться к виду по умолчанию, как сохранить мою пользовательскую панель действий. Если создать простое приложение для Android с помощью EditText, первое изображение будет выглядеть по умолчанию, чего я и хочу.   -  person Cote Mounyo    schedule 12.07.2013
comment
Я имею ту же самую проблему   -  person Pouton Gerald    schedule 12.07.2013
comment
Для получения дополнительной информации по этому вопросу см. бар"> stackoverflow.com/questions/17605282/   -  person Cote Mounyo    schedule 12.07.2013
comment
Пожалуйста, проверьте этот вопрос: stackoverflow.com/q/12470487/1237656   -  person Aswathy P Krishnan    schedule 21.04.2014
comment
установите тему как android:theme="@android:style/Theme.Holo" внутри вашего editText   -  person Abdul Rizwan    schedule 27.09.2016


Ответы (5)


Измените свою пользовательскую тему следующим образом

<style name="CustomTheme" parent="android:Theme.Holo.NoActionBar">

потому что вы не используете старую тему Android, а не HoLo, в которой есть что-то вроде editTextView

В более новых версиях Android платформа будет использовать функцию Window.FEATURE_ACTION_BAR всякий раз, когда выбрана тема Holo. Фреймворк выдает исключение всякий раз, когда приложение вызывает setFeatureInt(Window.FEATURE_CUSTOM_TITLE), а FEATURE_ACTION_BAR уже установлено. он разбился, потому что Holo по умолчанию использует панель действий. Исправление было простым. Отключите панель действий при использовании Holo

person DjHacktorReborn    schedule 12.07.2013
comment
Когда я меняю родителя, он жалуется на объединение пользовательских функций с другими функциями. Итак, приложение вылетает. - person Cote Mounyo; 12.07.2013
comment
Спасибо за помощь. Но я не понимаю вашего редактирования. Как должен выглядеть окончательный код? - person Cote Mounyo; 12.07.2013

Удалите эту строку из своего стиля

<item name="android:background">#323331</item>

потому что это фоновый атрибут, который отражает поведение.

person Jivraj S Shekhawat    schedule 16.04.2015

Есть два способа добиться этого. Первый способ — изменение темы вашего приложения.

первый метод:

AndroidManifest.xml

См. android:theme

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    ...
    ...
    </application>

res/values/style.xml

Theme.AppCompat.Light.DarkActionBar делает подчеркнутый EditText

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

Просто используйте EditText таким же образом

<EditText
      android:layout_width="match_parent"
      android:layout_height="48dp"
      android:hint="Email Address"
      android:inputType="textMultiLine"
      android:textSize="16dp" />

Второй метод:

Создайте фигуру, которую можно нарисовать с нижней обводкой, и установите ее в качестве фона EditText.

создайте файл для рисования с именем res/drawable/stroked_edittext_bg.xml, указанный в приведенной ниже ссылке:

Как создать фигуру Android с нижней обводкой

<EditText
      android:layout_width="match_parent"
      android:layout_height="48dp"
      android:background="@drawable/stroked_edittext_bg"
      android:hint="Email Address"
      android:inputType="textMultiLine"
      android:textSize="16dp" />
person Jayakrishnan    schedule 28.07.2016

этого можно добиться, если изменить тему для editText.

<EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:text="Name"
        android:theme="@android:style/Theme.Holo"
        android:ems="10"
        android:id="@+id/editText"
        android:layout_below="@+id/textView"
        android:layout_centerHorizontal="true" />
person Abdul Rizwan    schedule 27.09.2016

<item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>

Измените его на стиль по умолчанию. Или удалите эту строку из кода.

Потому что первое изображение, которым вы поделились, является фоном Editext по умолчанию.

person Tapan Kumar Patro    schedule 08.08.2018