如何在RelativeLayout中禁用Overlay?

时间:2014-03-15 22:10:33

标签: java android xml layout relativelayout

如果我在两个字段之一中写入文本,则最后一个textView显示在按钮上...

这很糟糕。 我不想要它。 我正在寻找一种可以禁用它的繁琐。 例如,如果显示键盘,则隐藏按钮 或使文本可滚动

不要担心网格,它有9行TextViews

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/padding_small"
android:paddingLeft="@dimen/padding_small"
android:paddingRight="@dimen/padding_small"
tools:context=".ActivityMain_plain" >

<Button
    android:id="@+id/Button_berechnen"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:paddingBottom="@dimen/padding_small"
    android:paddingLeft="@dimen/padding_small"
    android:paddingRight="@dimen/padding_small"
    android:text="@string/Button_berechnen" />

<EditText
    android:id="@+id/input_ipAdresse"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_alignRight="@+id/Button_berechnen"
    android:layout_toRightOf="@+id/tV_input_snm_txt"
    android:ems="10"
    android:gravity="right"
    android:inputType="phone"
    android:paddingRight="@dimen/padding_small"
    android:textSize="@dimen/fontsize_medium" >

    <requestFocus android:layout_width="match_parent" />

</EditText>


<EditText
    android:id="@+id/input_snm"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/input_ipAdresse"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/input_ipAdresse"
    android:ems="10"
    android:gravity="right"
    android:inputType="phone"
    android:paddingRight="@dimen/padding_small"
    android:textSize="@dimen/fontsize_medium" />

<TextView
    android:id="@+id/tV_input_snm_txt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/input_snm"
    android:layout_alignParentLeft="true"
    android:paddingLeft="@dimen/padding_small"
    android:paddingRight="@dimen/padding_small"
    android:paddingTop="@dimen/padding_small"
    android:text="@string/input_snm"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<TextView
    android:id="@+id/tV_input_ipAdresse"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/input_ipAdresse"
    android:layout_alignParentLeft="true"
    android:paddingLeft="@dimen/padding_small"
    android:paddingRight="@dimen/padding_small"
    android:paddingTop="@dimen/padding_small"
    android:text="@string/input_ipAdresse"
    android:textAppearance="?android:attr/textAppearanceMedium" />

<GridLayout
    android:id="@+id/table_gridLayout"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/input_snm"
    android:columnCount="5"
    android:fadingEdge="horizontal|vertical"
    android:paddingBottom="@dimen/padding_small"
    android:paddingLeft="@dimen/padding_small"
    android:paddingRight="@dimen/padding_small"
    android:paddingTop="@dimen/padding_medium"
    android:scrollbars="horizontal|vertical" >

</GridLayout>

<TextView
    android:id="@+id/tV_Klasse"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/table_gridLayout"
    android:layout_marginTop="10dp"
    android:paddingLeft="@dimen/padding_small"
    android:paddingRight="@dimen/padding_small"
    android:paddingTop="@dimen/padding_small"
    android:text="@string/txt_Klasse" />

<TextView
    android:id="@+id/tV_BitsNetz"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/tV_Klasse"
    android:paddingLeft="@dimen/padding_small"
    android:paddingRight="@dimen/padding_small"
    android:text="@string/txt_BitsNetz" />

<TextView
    android:id="@+id/tV_BitsSubnetz"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/tV_BitsNetz_erg"
    android:paddingLeft="@dimen/padding_small"
    android:paddingRight="@dimen/padding_small"
    android:text="@string/txt_BitsSubnetz" />

<TextView
    android:id="@+id/tV_BitsHost"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/tV_BitsSubnetz"
    android:paddingLeft="@dimen/padding_small"
    android:paddingRight="@dimen/padding_small"
    android:text="@string/txt_BitsHost" />

<TextView
    android:id="@+id/tV_MagischeZahl"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/tV_BitsHost"
    android:paddingLeft="@dimen/padding_small"
    android:paddingRight="@dimen/padding_small"
    android:text="@string/txt_MagischeZahl" />

<TextView
    android:id="@+id/tV_AnzahlHost"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/tV_AnzahlSubnetz"
    android:paddingLeft="@dimen/padding_small"
    android:paddingRight="@dimen/padding_small"
    android:text="@string/txt_AnzHosts" />

<TextView
    android:id="@+id/tV_AnzahlSubnetz"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/tV_MagischeZahl"
    android:layout_below="@+id/tV_MagischeZahl"
    android:paddingLeft="@dimen/padding_small"
    android:paddingRight="@dimen/padding_small"
    android:paddingTop="@dimen/padding_small"
    android:text="@string/txt_AnzSubnetze" />

<TextView
    android:id="@+id/tV_Klasse_erg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/tV_Klasse"
    android:layout_alignBottom="@+id/tV_Klasse"
    android:layout_alignRight="@+id/input_snm"
    android:minWidth="100dp" />

<TextView
    android:id="@+id/tV_BitsNetz_erg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/tV_BitsNetz"
    android:layout_alignBottom="@+id/tV_BitsNetz"
    android:layout_alignLeft="@+id/tV_Klasse_erg"
    android:minWidth="100dp" />

<TextView
    android:id="@+id/tV_BitsSubnetz_erg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/tV_BitsSubnetz"
    android:layout_alignLeft="@+id/tV_Klasse_erg"
    android:minWidth="100dp" />

<TextView
    android:id="@+id/tV_BitsHost_erg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/tV_BitsHost"
    android:layout_alignBottom="@+id/tV_BitsHost"
    android:layout_alignLeft="@+id/tV_BitsNetz_erg"
    android:minWidth="100dp" />

<TextView
    android:id="@+id/tV_MagischeZahl_erg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/tV_MagischeZahl"
    android:layout_alignBottom="@+id/tV_MagischeZahl"
    android:layout_alignLeft="@+id/tV_BitsHost_erg"
    android:minWidth="100dp" />

<TextView
    android:id="@+id/tV_AnzahlSubnetz_erg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/tV_AnzahlSubnetz"
    android:layout_alignLeft="@+id/tV_BitsHost_erg"
    android:minWidth="100dp" />

<TextView
    android:id="@+id/tV_AnzahlHost_erg"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/tV_AnzahlHost"
    android:layout_alignLeft="@+id/tV_MagischeZahl_erg"
    android:minWidth="100dp" />
</RelativeLayout>

我知道为什么,但没有好办法解决它... 我知道相对布局覆盖是可能的,但在这里我不想要它...

1 个答案:

答案 0 :(得分:0)

如果我理解正确,这可能会解决您的问题:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                xmlns:tools="http://schemas.android.com/tools"
                android:id="@+id/RelativeLayout"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:paddingBottom="@dimen/padding_small"
                android:paddingLeft="@dimen/padding_small"
                android:paddingRight="@dimen/padding_small"
                tools:context=".ActivityMain_plain">

    <Button
            android:id="@+id/Button_berechnen"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:paddingBottom="@dimen/padding_small"
            android:paddingLeft="@dimen/padding_small"
            android:paddingRight="@dimen/padding_small"
            android:text="@string/Button_berechnen"/>

    <EditText
            android:id="@+id/input_ipAdresse"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignRight="@+id/Button_berechnen"
            android:layout_toRightOf="@+id/tV_input_snm_txt"
            android:ems="10"
            android:gravity="right"
            android:inputType="phone"
            android:paddingRight="@dimen/padding_small"
            android:textSize="@dimen/fontsize_medium">

        <requestFocus android:layout_width="match_parent"/>

    </EditText>


    <EditText
            android:id="@+id/input_snm"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/input_ipAdresse"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/input_ipAdresse"
            android:ems="10"
            android:gravity="right"
            android:inputType="phone"
            android:paddingRight="@dimen/padding_small"
            android:textSize="@dimen/fontsize_medium"/>

    <TextView
            android:id="@+id/tV_input_snm_txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/input_snm"
            android:layout_alignParentLeft="true"
            android:paddingLeft="@dimen/padding_small"
            android:paddingRight="@dimen/padding_small"
            android:paddingTop="@dimen/padding_small"
            android:text="@string/input_snm"
            android:textAppearance="?android:attr/textAppearanceMedium"/>

    <TextView
            android:id="@+id/tV_input_ipAdresse"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/input_ipAdresse"
            android:layout_alignParentLeft="true"
            android:paddingLeft="@dimen/padding_small"
            android:paddingRight="@dimen/padding_small"
            android:paddingTop="@dimen/padding_small"
            android:text="@string/input_ipAdresse"
            android:textAppearance="?android:attr/textAppearanceMedium"/>

    <ScrollView android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_above="@+id/Button_berechnen"
                android:layout_below="@+id/input_snm">

        <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical">

            <GridLayout
                    android:id="@+id/table_gridLayout"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:columnCount="5"
                    android:fadingEdge="horizontal|vertical"
                    android:paddingBottom="@dimen/padding_small"
                    android:paddingLeft="@dimen/padding_small"
                    android:paddingRight="@dimen/padding_small"
                    android:paddingTop="@dimen/padding_medium"
                    android:scrollbars="horizontal|vertical">

            </GridLayout>

            <TextView
                    android:id="@+id/tV_Klasse"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="10dp"
                    android:paddingLeft="@dimen/padding_small"
                    android:paddingRight="@dimen/padding_small"
                    android:paddingTop="@dimen/padding_small"
                    android:text="@string/txt_Klasse"/>

            <TextView
                    android:id="@+id/tV_BitsNetz"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingLeft="@dimen/padding_small"
                    android:paddingRight="@dimen/padding_small"
                    android:text="@string/txt_BitsNetz"/>

            <TextView
                    android:id="@+id/tV_BitsSubnetz"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingLeft="@dimen/padding_small"
                    android:paddingRight="@dimen/padding_small"
                    android:text="@string/txt_BitsSubnetz"/>

            <TextView
                    android:id="@+id/tV_BitsHost"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingLeft="@dimen/padding_small"
                    android:paddingRight="@dimen/padding_small"
                    android:text="@string/txt_BitsHost"/>

            <TextView
                    android:id="@+id/tV_MagischeZahl"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingLeft="@dimen/padding_small"
                    android:paddingRight="@dimen/padding_small"
                    android:text="@string/txt_MagischeZahl"/>

            <TextView
                    android:id="@+id/tV_AnzahlHost"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingLeft="@dimen/padding_small"
                    android:paddingRight="@dimen/padding_small"
                    android:text="@string/txt_AnzHosts"/>

            <TextView
                    android:id="@+id/tV_AnzahlSubnetz"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingLeft="@dimen/padding_small"
                    android:paddingRight="@dimen/padding_small"
                    android:paddingTop="@dimen/padding_small"
                    android:text="@string/txt_AnzSubnetze"/>

            <TextView
                    android:id="@+id/tV_Klasse_erg"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:minWidth="100dp"/>

            <TextView
                    android:id="@+id/tV_BitsNetz_erg"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:minWidth="100dp"/>

            <TextView
                    android:id="@+id/tV_BitsSubnetz_erg"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:minWidth="100dp"/>

            <TextView
                    android:id="@+id/tV_BitsHost_erg"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:minWidth="100dp"/>

            <TextView
                    android:id="@+id/tV_MagischeZahl_erg"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:minWidth="100dp"/>

            <TextView
                    android:id="@+id/tV_AnzahlSubnetz_erg"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:minWidth="100dp"/>

            <TextView
                    android:id="@+id/tV_AnzahlHost_erg"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:minWidth="100dp"/>
        </LinearLayout>

    </ScrollView>

</RelativeLayout>

我还没有真正测试过代码,但这个概念应该是正确的。

此外,我强烈建议您重新访问XML布局,因为它可以改进。