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

Градиент ScrollView Textview перекрывается соседним видом, когда появляется клавиатура

Я просто создаю информацию о чтении сообщений в одном макете, у меня есть XML-файл макета ниже, который имеет вид прокрутки с текстовыми представлениями (это текстовое представление имеет градиентные цвета, которые я динамически создаю в java) на линейном макете вертикальной прокрутки, который является правильным до появления клавиатуры . Когда я нажимаю представление EditText, появляется всплывающая клавиатура, и все текстовые представления перекрываются друг с другом. Я пробовал все варианты, такие как android:windowSoftInputMode и android:fitsSystemWindows="true" снова и снова с одним и тем же результатом.

XML-файл моего макета

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/parent"
android:fitsSystemWindows="true"
tools:context="com.talkeasy.messageperformancw.MainActivity" >

<HorizontalScrollView
    android:id="@+id/horizontalScrollView1"
    android:layout_width="match_parent"
    android:fitsSystemWindows="true"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:id="@+id/linearlayout_1"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:background="#000000"
        android:orientation="horizontal" >

    </LinearLayout>
</HorizontalScrollView>

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="0dp" 
    android:layout_weight="1"
    android:background="#000000"
    android:fitsSystemWindows="true"
    android:fillViewport="true"
    android:isScrollContainer="true"
    android:splitMotionEvents="true"
     >

    <LinearLayout
        android:id="@+id/xmlid_l_message"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        android:orientation="vertical" >
    </LinearLayout>
</ScrollView>
</LinearLayout>

До того, как появится всплывающая клавиатура:

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

После появления клавиатуры

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

Если вы видите второе изображение, когда клавиатура всплывает, а представления внутри прокрутки рушатся друг на друга, я не хочу использовать какую-либо опцию layout_weight, и я хочу, чтобы эта проблема была решена :( . Stackoverflow - единственное решение для меня, последняя надежда.. Заранее спасибо.


Ответы:


1

Попробуйте вызвать linear.invalidate(); или linear.requestLayout(); после того, как клавиатура уже показала. Я думаю, ваша проблема в том, что представления не пересчитывали свой размер в макете.

На самом деле я думаю, что вы можете использовать ресурс 9.patch для фона в TextView и установить для них поля. Я думаю, это поможет.

03.12.2014
  • Спасибо за ваш ответ, я пробовал как linear.invalidate(); или linear.requestLayout(); все еще не пересчитывает свой размер. Я не понимаю вашего второго утверждения об использовании пути 9, пожалуйста, расскажите, как использовать этот патч, заранее спасибо. 03.12.2014
  • @ela0250 Здесь вы можете прочитать о 9.patch: developer.android.com/tools/help /draw9patch.html Возможно, макеты с ним лучше прорисовываются. 04.12.2014
  • Новые материалы

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

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

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

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

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

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

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