java - 选择editText时如何隐藏部分布局

标签 java android android-layout

有没有办法在我点击 EditText 和键盘显示时隐藏一些按钮?

我有这个布局

    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_above="@+id/InnerRelativeLayout">


<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:stretchColumns="1"

    android:id="@+id/table">


    <TableRow
        android:id="@+id/tariffRow">

        <TextView
            android:layout_column="1"
            android:text="Název"
            android:padding="3dip" />
        <EditText
            android:id="@+id/tariffName"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>
 </TableLayout>
</ScrollView>
<LinearLayout  android:id="@+id/InnerRelativeLayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:layout_alignParentBottom="true">
    <Button android:id="@+id/okBtn"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:text="Ok"/>
    <Button android:id="@+id/stornoBtn"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:text="Storno" />
    </LinearLayout>

现在,当单击 editText 以键入一些值时,我需要隐藏 linearLayout android:id="@+id/InnerRelativeLayout",否则它在键盘上方仍然可见。

最佳答案

需要为 EditText 设置一个 FocusChangeListener,它会在 EditText 上的焦点发生变化时触发,如下所示:

editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        if (hasFocus) {
            // hide relative layout
        } else {
            // show relative layout
        }
    }
});

关于java - 选择editText时如何隐藏部分布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31776174/

相关文章:

java - crate.io jdbc 连接失败

java - FileUtils.moveFile 在磁盘已满时并不总是抛出 IOException

java - 在 Tomcat 上使用 OpenJPA 时出现 NullPointerException

java - 从线程访问主 Activity 中的变量

java - 如何将esp8266 softAp与android应用程序连接

java - 如何在android中从json数据在ImageView上显示图像

android - 我的 android studio 布局管理器失去了功能

java - 如何按值而不是按位置设置 Spinner 的选定项?

java - 如何在同一个程序中使用onclick和onclicklistener?

android - ViewPager 中的部 fragment 段在屏幕底部被截断(Android)