Этикетка не показывалась

Вот так мой интерфейс выглядит в Android Studio:

Этикетка не показывалась

Вот мой интерфейс, как на реальном устройстве:

Этикетка не показывалась

Почему не видна этикетка и я даже не могу изменить цвет фона EditText?

Вот некоторые из моих XML-файлов с кодом, для части ниже я использую ScrollView, а цветовую часть я использую относительный макет. Обе эти схемы находятся в CardView.

<?xml version = "1.0" encoding = "utf-8"?>
<android.support.v7.widget.CardView 
xmlns:android = "http://schemas.android.com/apk/res/android"
xmlns:card_view = "http://schemas.android.com/apk/res-auto"
xmlns:app = "http://schemas.android.com/tools"
android:orientation = "vertical"
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:id = "@+id/card_view"

<ScrollView
    android:layout_width = "match_parent"
    android:layout_marginTop = "235dp"
    android:layout_height = "wrap_content"
    android:fillViewport = "true">


    <LinearLayout
        android:layout_width = "match_parent"
        android:layout_height = "wrap_content"
        android:layout_marginLeft = "30dp"
        android:layout_marginRight = "30dp"
        android:layout_marginTop = "20dp"
        android:orientation = "vertical"
        android:background = "@color/transparent">

        <LinearLayout
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            android:orientation = "vertical"
            android:background = "@color/transparent">


            <studio.carbonylgroup.textfieldboxes.TextFieldBoxes
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                app:labelText = "Email"
                app:hasClearButton = "true">

                <studio.carbonylgroup.textfieldboxes.ExtendedEditText
                    android:layout_width = "match_parent"
                    android:layout_height = "wrap_content"
                    android:layout_marginTop = "8dp"
                    android:layout_marginBottom = "8dp"
                    android:inputType = "textEmailAddress"
                    android:id = "@+id/input_email"/>

            </studio.carbonylgroup.textfieldboxes.TextFieldBoxes>



        </LinearLayout>

        <LinearLayout
            android:layout_width = "match_parent"
            android:layout_height = "wrap_content"
            android:layout_marginTop = "15dp"
            android:orientation = "vertical"
            android:background = "@color/transparent">

            <studio.carbonylgroup.textfieldboxes.TextFieldBoxes
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                app:labelText = "Username"
                app:hasClearButton = "true">

                <studio.carbonylgroup.textfieldboxes.ExtendedEditText
                    android:layout_width = "match_parent"
                    android:layout_height = "wrap_content"
                    android:id = "@+id/input_name"
                    android:inputType = "textPersonName"
                    android:layout_marginTop = "8dp"
                    android:layout_marginBottom = "8dp"/>

            </studio.carbonylgroup.textfieldboxes.TextFieldBoxes>

        </LinearLayout>

если вам нужна дополнительная информация, пожалуйста, скажите мне

Choy 14.11.2018 12:02
1
1
121
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Обратите внимание на строки ниже:

    xmlns:app = "http://schemas.android.com/tools"
    ...

    app:labelText = "Username"  //app is a tool namespace, so label text only shown in preview

Измените на:

    xmlns:app = "http://schemas.android.com/apk/res-auto"
    xmlns:tools = "http://schemas.android.com/tools"
    ...

    app:labelText = "Username"

после того, как я его изменил, приложение вылетело, и я получаю эту ошибку: сбой при связывании ресурсов Android

Choy 14.11.2018 12:43

Итак, как я могу это исправить: app: labelText = "Username" // app - это пространство имен инструмента, поэтому текст метки отображается только в предварительном просмотре

Choy 14.11.2018 12:43

@Choy В своем ответе я дал модификацию.

navylover 14.11.2018 12:47

u означает скопировать это в мое текстовое поле?

Choy 14.11.2018 12:47

@Choy Найдите xmlns: app = "schemas.android.com/tools" в своем старом файле xml и замените его на xmlns: app = "schemas.android.com/apk/res-auto"

navylover 14.11.2018 12:50

приложение вылетит

Choy 14.11.2018 12:52

Я копирую: xmlns: app = "schemas.android.com/apk/res-auto", помещаю его в каждое текстовое поле, и он работает

Choy 14.11.2018 13:01

@Choy рад слышать, что вы его решили, если это будет полезно для вас, не могли бы вы проголосовать за или принять мой ответ? Благодарность

navylover 14.11.2018 13:11

Создайте файл drawable.xml и установите его на свой фон редактирования текста следующим образом:

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

    <stroke
        android:width = "4sp"
        android:color = "@android:color/white" />

    <corners android:radius = "20dp" />
    <solid android:color = "@color/colorPrimary"/>

</shape> 


    <studio.carbonylgroup.textfieldboxes.ExtendedEditText
                android:id = "@+id/et"
                android:layout_width = "match_parent"
                android:layout_height = "wrap_content"
                android:background = "@drawable/drawable"
   />

добавьте xmlns:tools = "http://schemas.android.com/tools" в ваши TextFieldBoxes

Другие вопросы по теме