簡體   English   中英

鍵盤彈出時如何隱藏元素?

[英]How can i hide the elements when my keyboard pops up?

我已經看到了一些類似的問題,但是他們希望事物顯示出來,我想隱藏它們。 基本上,我的RelativeLayout中有一堆元素,當活動顯示時,由於我有一個editText,並且彈出了鍵盤,並且在Bottom中對齊的元素沿着鍵盤向上,所以我不想這么做,希望他們保持隱藏狀態,我知道該如何實現? 這是我的Activity的xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:background="@drawable/bg"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    android:id="@+id/invoices_layout"
    tools:context=".NavManager">

    <RelativeLayout
        android:id="@+id/mcr_bar_progress"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        android:visibility="visible">

        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_centerInParent="true"
            android:layout_marginTop="15dp"
            android:text="Agregar Productos"
            android:textColor="@android:color/white"
            android:textSize="34sp" />

        <TextView
            android:id="@+id/textGrid2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/textView"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="0dp"
            android:text="Grupo MkTech Solutions"
            android:textColor="@android:color/white"
            android:textSize="15sp" />

        <EditText
            android:id="@+id/txtproducto"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentEnd="true"
            android:layout_marginStart="0dp"
            android:layout_marginTop="92dp"
            android:layout_marginEnd="0dp"
            android:hint="Ej: Refresco Natural"
            android:inputType="text"
            android:textColor="@color/white"
            android:textSize="15sp"
            app:backgroundTint="@color/white" />

        <ImageButton
            android:id="@+id/btnbuscar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/txtproducto"
            android:layout_alignEnd="@+id/txtproducto"
            android:layout_marginTop="4dp"
            android:layout_marginEnd="0dp"
            android:onClick="onClickSwitch"
            app:srcCompat="@drawable/research" />

        <TextView
            android:id="@+id/txttotal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:padding="10dp"
            android:textColor="@color/WhiteBgText"
            android:textSize="15sp" />

        <ImageButton
            android:id="@+id/btnlimpiarcarro"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:onClick="onClickCleanCart"
            android:padding="10dp"
            app:srcCompat="@drawable/quit" />

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentStart="true"
            android:layout_alignParentTop="true"
            android:layout_marginStart="0dp"
            android:layout_marginTop="150dp"
            android:layout_marginBottom="50dp"
            android:fillViewport="true">

            <TableLayout
                android:id="@+id/tableInvoices"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:padding="0dp"
                android:stretchColumns="*"></TableLayout>

        </ScrollView>

    </RelativeLayout>

</LinearLayout>

滾動視圖之前的最后兩個元素是需要保持隱藏狀態的元素。

將以下內容添加到清單中的活動中:

android:windowSoftInputMode="adjustPan"

API

活動的主窗口未調整大小以為軟鍵盤騰出空間。 而是,窗口的內容會自動平移,以使當前焦點不會被鍵盤遮擋,並且用戶始終可以看到他們正在鍵入的內容。 通常,這不如調整大小那么可取,因為用戶可能需要關閉軟鍵盤才能到達窗口的模糊部分並與之交互。

根據我對您問題的理解,您不希望鍵盤將UI元素推到布局的底部。

為此,您需要做的就是將以下行放入清單活動標簽中:

android:windowSoftInputMode="adjustNothing"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM