Nano Hash - криптовалюты, майнинг, программирование

Как удалить плавающую метку из TextInputLayout с помощью стиля OutlinedBox?

Есть ли способ удалить плавающую метку (подсказку), когда TextInputLayout находится в сфокусированном режиме?

Когда я пытаюсь установить app:hintEnabled="false" и подсказку внутри TextInputeEditText, TextInputLayout ведет себя странно, скрывая верхнюю черту.

<com.google.android.material.textfield.TextInputLayout
      style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:hint="Text">

        <com.google.android.material.textfield.TextInputEditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

</com.google.android.material.textfield.TextInputLayout>

Важно то, что я использую Material Components в версии 1.1.0-alpha01..

Изменить

Вот как это выглядит (когда ввод не сфокусирован):

Скриншот

Верхний штрих обрезан.


  • установите подсказку для редактирования текста, а не для textinputlayout и установите для подсказки значение false 30.01.2019
  • Вы видели, что я упомянул выше часть кода? 30.01.2019
  • потому что вы устанавливаете подсказку для textinputlayout, а не для textinputedittext. 30.01.2019
  • Я сделал, как ты сказал. Инсульт все еще скрывается. 30.01.2019
  • установить подсказку для edittext и app:hintEnabled=false для textinputlayout. это подходит для меня 30.01.2019
  • Используете ли вы материальные компоненты? 30.01.2019
  • да я пользуюсь таким же 30.01.2019
  • Можете ли вы предоставить код со скриншотами? Это не работает для меня. 30.01.2019
  • pastebin.com/ggf2zjmm 30.01.2019
  • и выглядит как ibb.co/RhMGR76 30.01.2019
  • Смотрите отредактированный вопрос. Ваше решение работает только тогда, когда ввод сфокусирован (красный цвет). 30.01.2019
  • Давайте продолжим обсуждение в чате. 30.01.2019

Ответы:


1

Просто установите подсказку для EditText программно и удалите app:hintEnabled="false" из TextInputLayout, если у вас есть, в моем случае сработало :)

21.06.2019

2

Да, есть довольно простой способ удалить подсказку с плавающей меткой и оставить подсказку только внутри вашего TextInputLayout.

Этого можно легко добиться, отключив подсказку в TextInputLayout и установив подсказку в TextInputEditText вместо TextInputLayout следующим образом:

<com.google.android.material.textfield.TextInputLayout
    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:hintEnabled="false">

    <com.google.android.material.textfield.TextInputEditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="hint text comes here" />

</com.google.android.material.textfield.TextInputLayout>

Результат выглядит примерно так: введите здесь описание изображения

И когда будет добавлен текст, он будет выглядеть так: введите здесь описание изображения

Я попробовал это в Material Components v1.2.0.

19.10.2020

3

Попробуйте установить пустую подсказку как для текстового макета, так и для редактирования текста: -

<com.google.android.material.textfield.TextInputLayout
      app:boxBackgroundMode="outline"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:hint="">

        <com.google.android.material.textfield.TextInputEditText
            android:layout_width="match_parent"
            android:hint=""
            android:layout_height="wrap_content" />

</com.google.android.material.textfield.TextInputLayout>

Если вы хотите использовать подсказку, вы можете использовать настраиваемый рисунок в качестве фона EditText: -

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

    <corners android:radius="10dp"/>
    <solid android:color="#ffffff"/>
    <stroke android:color="#000000"
    android:width="2dp"/>

</shape>
30.01.2019
  • Но я хочу сохранить подсказку в EditText. 30.01.2019
  • вы можете использовать пользовательский рисунок с обводкой и белым фоном 30.01.2019

  • 4

    В первую очередь следует использовать этот стиль:

    <style name="TextInputLayoutOutlinedBoxStyle" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
        <item name="android:textColorHint">#F5F5F5</item>
        <item name="hintTextAppearance">@style/HintTextAppearance</item>
        <item name="boxCornerRadiusBottomEnd">20dp</item>
        <item name="boxCornerRadiusBottomStart">20dp</item>
        <item name="boxCornerRadiusTopEnd">20dp</item>
        <item name="boxCornerRadiusTopStart">20dp</item>
    </style>
    

    И у вас должен быть textinputlayout, содержащий этот стиль, например:

      <com.google.android.material.textfield.TextInputLayout
            style="@style/TextInputLayoutOutlinedBoxStyle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/relativelayout_activatetoken_main"
            android:layout_marginStart="20dp"
            android:layout_marginTop="30dp"
            android:layout_marginEnd="20dp"
            android:hint="@string/activatetoken_passwordhint"
            android:textColorHint="@color/colorText"
            app:helperText="@string/activatetoken_passwordhelpertext"
            app:helperTextTextAppearance="@style/TextAppearanceHelper"
            app:hintTextAppearance="@style/TextAppearanceBase"
            app:passwordToggleTint="@color/text_50">
    

    И для цвета границы используйте это в цветах:

     <color name="mtrl_textinput_default_box_stroke_color" tools:override="true">#F5F5F5</color>
    
    30.01.2019
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..