我在屏幕上有 3 个编辑文本。在触摸编辑文本之前的小屏幕设备上,我的屏幕看起来像
在触摸第一个edittext(例如在名称前面)之后,键盘弹出来,它看起来
即现在edittext Amount(在TextView前面名为Amount)现在在用户面前。但是当我首先触摸(或单击)(名称)编辑文本时,我希望它出现在用户面前。但是无论我每次选择哪个金额都在前面。
我尝试过使用 requestFocus() 和 setSelect(true)。即使有焦点返回true,但没有任何效果。
那么该怎么做呢?
我已经为包含这三个编辑文本和它们前面的三个文本框的表格布局提供了滚动视图。
我的 xml 代码是
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/rl_upload_header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:minHeight="50dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/selected_image_detail"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:id="@+id/rl_upload_top"
android:layout_width="fill_parent"
android:layout_height="150dp"
android:layout_weight="4"
android:baselineAligned="false"
android:gravity="center"
android:orientation="horizontal" >
<ImageView
android:id="@+id/image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:contentDescription="@string/empty" >
</ImageView>
</LinearLayout>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="2"
android:gravity="center" >
<TableLayout
android:id="@+id/tableLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="5dip" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/name_table" />
<EditText
android:id="@+id/ed_img_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:background="@drawable/text_box_background"
android:focusable="true"
android:focusableInTouchMode="true"
android:hint="@string/name"
android:paddingLeft="5dip" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="5dip" >
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/amount_table" />
<EditText
android:id="@+id/ed_amount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:background="@drawable/text_box_background"
android:focusable="true"
android:focusableInTouchMode="true"
android:hint="@string/amount"
android:paddingLeft="5dip" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:padding="5dip" >
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/desc_table" />
<EditText
android:id="@+id/ed_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:background="@drawable/text_box_background"
android:focusable="true"
android:focusableInTouchMode="true"
android:hint="@string/desc"
android:paddingLeft="5dip" />
</TableRow>
</TableLayout>
</ScrollView>
<LinearLayout
android:id="@+id/rl_upload_bottom"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:baselineAligned="false"
android:gravity="center"
android:minHeight="70dp" >
<Button
android:id="@+id/button_update"
android:layout_width="150dp"
android:layout_height="40dp"
android:background="@drawable/btn_update" >
</Button>
</LinearLayout>