小编gre*_*ven的帖子

带有SoftInputMode adjustPan的Android EditText Multiline

我有一个活动来编辑一些文本,顶部栏在滚动视图内的多行模式下的EditText视图.在底部另一个视图有2个按钮.我想要实现的是编辑底部栏位于软键盘下方的文本.使用android很容易:在清单中使用windowSoftInputMode ="adjustPan".问题是如果edittext变得足够大,有几行,当编辑顶部栏时它会消失.仅在使用adjustPan模式时才会出现这种情况.但最糟糕的是,我认为这是一个错误,当光标位于edittext视图的末尾并使用D-Pad操纵杆向上滚动时,所有布局都被拉到顶部.

这是不关注EditText的屏幕:http://i.stack.imgur.com/pFadV.png

当滚动出现错误时,会发生这种情况:http://i.stack.imgur.com/eS8PP.png

我的布局如下:

   <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@color/BackgroundGray"
    android:gravity="top|center"
    android:orientation="vertical"
    android:windowSoftInputMode="adjustPan" >

    <RelativeLayout
        android:id="@+id/top_bar"
        android:layout_width="fill_parent"
        android:layout_height="45dip"
        android:layout_alignParentTop="true"
        android:background="@drawable/top_bar"
        android:focusable="true"
        android:focusableInTouchMode="true" >

        <ImageView
            android:id="@+id/bar_item_priority"
            android:layout_width="4dip"
            android:layout_height="34dip"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:contentDescription="@string/priority" />

        <EditText
            android:id="@+id/bar_title"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginLeft="6dip"
            android:background="@android:color/transparent"
            android:fadingEdge="vertical"
            android:gravity="center_vertical|left"
            android:hint="@string/default_title"
            android:inputType="text|textCapSentences"
            android:paddingLeft="10dip"
            android:textColor="#f3f3f3"
            android:textColorHint="#20ffffff"
            android:textSize="20dip"
            android:textStyle="bold" >
        </EditText>
    </RelativeLayout>

    <View
        android:id="@+id/main_top_bar_shadow"
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:layout_below="@+id/top_bar"
        android:background="@color/TopBarShadow" />

    <LinearLayout
        android:id="@+id/meta_bar"
        android:layout_width="fill_parent"
        android:layout_height="25dip"
        android:layout_below="@+id/main_top_bar_shadow"
        android:background="#313435"
        android:descendantFocusability="blocksDescendants" >

        <TextView
            android:id="@+id/meta_date_modified"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:gravity="center_vertical|left"
            android:paddingLeft="10dip"
            android:paddingRight="10dip" …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-edittext

8
推荐指数
1
解决办法
4133
查看次数

标签 统计

android ×1

android-edittext ×1

android-layout ×1