当专注于它时,将Android Edittext向上移动一点点

时间:2012-10-23 09:38:15

标签: android android-layout focus android-edittext

我有一个多行Edittext。当用户触摸它以进行输入时,它会显示一半。软键盘覆盖其余部分。我需要完全看待它。

现在就是这样。

enter image description here

我希望它看起来像这样。

enter image description here

我使用了adjustPan和amp;针对android的adjustResize:windowSoftInputMode但没有任何改变。

这是我的XML布局。

    <RelativeLayout
    android:id="@+id/base"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/bg_type"
    android:keepScreenOn="true"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/own"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="120dp"
        android:layout_marginTop="160dp"
        android:contentDescription="@string/image"
        android:src="@drawable/own" />

    <ImageView
        android:id="@+id/a"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/own"
        android:layout_marginLeft="75dp"
        android:layout_toRightOf="@+id/own"
        android:contentDescription="@string/image"
        android:src="@drawable/a_pressed" />

    <ImageView
        android:id="@+id/b"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/a"
        android:layout_marginLeft="20dp"
        android:layout_toRightOf="@+id/a"
        android:contentDescription="@string/image"
        android:src="@drawable/b" />

    <ImageView
        android:id="@+id/c"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/b"
        android:layout_marginLeft="20dp"
        android:layout_toRightOf="@+id/b"
        android:contentDescription="@string/image"
        android:src="@drawable/c" />

    <FrameLayout
        android:id="@+id/txtlayer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_marginLeft="160dp" >

        <com.empite.telegramstop.Txt
            android:id="@+id/txt"
            style="@style/blue_edittext"
            android:layout_width="820dp"
            android:layout_height="200dp"
            android:gravity="top"
            android:imeOptions="actionNext"
            android:inputType="textMultiLine"
            android:nextFocusLeft="@id/txt"
            android:nextFocusUp="@id/txt"
            android:padding="10dp"
            android:text="@string/msg_a"
            android:textSize="25dp"
            android:textStyle="bold"
            android:typeface="monospace" >

            <requestFocus />
        </com.empite.telegramstop.Txt>
    </FrameLayout>

    <TextView
        android:id="@+id/remain"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/c"
        android:layout_centerVertical="false"
        android:layout_marginRight="-15dp"
        android:layout_marginTop="325dp"
        android:gravity="center"
        android:text="@string/remaining"
        android:textColor="@color/remain"
        android:textSize="40dp"
        android:textStyle="bold"
        android:visibility="visible" />

    <ImageView
        android:id="@+id/nxt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/remain"
        android:layout_below="@+id/c"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="148dp"
        android:contentDescription="@string/image"
        android:scaleType="center"
        android:src="@drawable/bt_next" />

    <RelativeLayout
        android:id="@+id/RelativeLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/own"
        android:layout_below="@+id/txtlayer"
        android:layout_marginTop="290dp"
        android:background="@drawable/panel_type_code" >

        <EditText
            android:id="@+id/no1"
            android:layout_width="55dp"
            android:layout_height="75dp"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="275dp"
            android:layout_marginTop="18dp"
            android:background="@null"
            android:gravity="center"
            android:imeOptions="actionDone"
            android:inputType="number"
            android:maxLines="1"
            android:textSize="45dp"
            android:textStyle="bold"
            android:typeface="serif" />

        <EditText
            android:id="@+id/no2"
            android:layout_width="55dp"
            android:layout_height="75dp"
            android:layout_alignBaseline="@+id/no1"
            android:layout_alignBottom="@+id/no1"
            android:layout_marginLeft="10dp"
            android:layout_toRightOf="@+id/no1"
            android:background="@null"
            android:ems="10"
            android:gravity="center"
            android:imeOptions="actionDone"
            android:inputType="number"
            android:textSize="45dp"
            android:textStyle="bold"
            android:typeface="serif" />

        <EditText
            android:id="@+id/no3"
            android:layout_width="55dp"
            android:layout_height="75dp"
            android:layout_alignBaseline="@+id/no2"
            android:layout_alignBottom="@+id/no2"
            android:layout_marginLeft="10dp"
            android:layout_toRightOf="@+id/no2"
            android:background="@null"
            android:ems="10"
            android:gravity="center"
            android:imeOptions="actionDone"
            android:inputType="number"
            android:textSize="45dp"
            android:textStyle="bold"
            android:typeface="serif" />

        <EditText
            android:id="@+id/no4"
            android:layout_width="55dp"
            android:layout_height="75dp"
            android:layout_alignBaseline="@+id/no3"
            android:layout_alignBottom="@+id/no3"
            android:layout_marginLeft="9dp"
            android:layout_toRightOf="@+id/no3"
            android:background="@null"
            android:ems="10"
            android:gravity="center"
            android:imeOptions="actionDone"
            android:inputType="number"
            android:textSize="45dp"
            android:textStyle="bold"
            android:typeface="serif" />

        <EditText
            android:id="@+id/no5"
            android:layout_width="55dp"
            android:layout_height="75dp"
            android:layout_alignBaseline="@+id/no4"
            android:layout_alignBottom="@+id/no4"
            android:layout_marginLeft="9dp"
            android:layout_toRightOf="@+id/no4"
            android:background="@null"
            android:ems="10"
            android:gravity="center"
            android:imeOptions="actionDone"
            android:inputType="number"
            android:textSize="45dp"
            android:textStyle="bold"
            android:typeface="serif" />

        <EditText
            android:id="@+id/no6"
            android:layout_width="55dp"
            android:layout_height="75dp"
            android:layout_alignBaseline="@+id/no5"
            android:layout_alignBottom="@+id/no5"
            android:layout_marginLeft="10dp"
            android:layout_toRightOf="@+id/no5"
            android:background="@null"
            android:ems="10"
            android:gravity="center"
            android:imeOptions="actionDone"
            android:inputType="number"
            android:textSize="45dp"
            android:textStyle="bold"
            android:typeface="serif" />
    </RelativeLayout>

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@null"
        android:ems="10"
        android:visibility="visible" />
</RelativeLayout>

3 个答案:

答案 0 :(得分:2)

尝试这可能是使用完全调整清单

 <activity
     android:windowSoftInputMode="adjustResize"              
     android:name=".youractivity" android:label="@string/app_name" >

并查看此move up text view only when virtual keyboard open on android

答案 1 :(得分:0)

使用EditText的setOnFocusChangeListener()方法,并相应地更改布局。

答案 2 :(得分:0)

尝试在根RelativeLayout之前添加ScrollView,并从清单中删除android:windowSoftInputMode。