如何在android布局中自动滚动编辑文本框上方
我有 8 个编辑文本框和两个按钮。为此,我正在上传我的应用程序的快照
每个编辑文本框均设置 KEYBOARD_12KEY 作为输入类型。 如果我单击任何编辑框,则它显示为
但如果我单击与 G 对应的编辑框,则它显示为
上部编辑框滚动到上方,但与 G 相对应的编辑框被按钮覆盖。但我希望如果我单击,则整个编辑框会滚动到上侧,按钮下方没有任何编辑框。就像:-
任何人都可以告诉我如何做到这一点。
这是我在RelativeLayout 中的xml 文件 -
<ScrollView android:layout_width="fill_parent" android:layout_marginBottom="30dip"
android:layout_height="wrap_content" >
<TableLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:scrollbars="vertical">
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:textSize="20dip" android:minWidth="100dip" android:layout_weight="1" android:layout_gravity="center_vertical" android:text="A"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText01"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:textSize="20dip" android:minWidth="100dip" android:layout_weight="1" android:layout_gravity="center_vertical" android:text="B"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText02"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:textSize="20dip" android:minWidth="100dip" android:layout_weight="1" android:layout_gravity="center_vertical" android:text="C"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText03"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:textSize="20dip" android:minWidth="100dip" android:layout_weight="1" android:layout_gravity="center_vertical" android:text="D"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText04"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:textSize="20dip" android:minWidth="100dip" android:layout_weight="1" android:layout_gravity="center_vertical" android:text="E"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText05"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1"
android:baselineAligned="true">
<TextView android:layout_height="wrap_content"
android:layout_weight="1" android:textSize="20dip" android:minWidth="100dip"
android:layout_gravity="center_vertical" android:text="F"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText06"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:layout_weight="1" android:textSize="20dip" android:minWidth="100dip"
android:layout_gravity="center_vertical" android:text="G"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText07"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:layout_weight="1" android:textSize="20dip" android:minWidth="200dip"
android:layout_gravity="center_vertical" android:text="H"/>
<EditText android:layout_height="40dip" android:inputType="numberDecimal"
android:layout_weight="1"
android:layout_width="wrap_content" android:id="@+id/EditText08"></EditText>
</TableRow>
</TableLayout>
</ScrollView>
<TableLayout android:id="@+id/btnsLL" android:orientation="horizontal"
android:layout_height="50dip" android:gravity="center"
android:layout_alignParentBottom="true" android:layout_below="@+id/configParamsLL"
android:layout_width="fill_parent">
<TableRow>
<Button android:id="@+id/BtnResetCfg" android:layout_alignParentBottom="true"
android:layout_height="wrap_content" android:layout_weight="1"
android:layout_width="2dip" android:layout_marginRight="50dip" android:text="Reset" android:scrollbarAlwaysDrawHorizontalTrack="true"></Button>
<Button android:id="@+id/BtnSaveCfg" android:layout_alignParentBottom="true"
android:layout_height="wrap_content" android:layout_weight="1"
android:layout_width="2dip" android:layout_marginLeft="50dip" android:text="Save"></Button>
</TableRow>
</TableLayout>
谢谢。
I have 8 Edit Text Boxes and two buttons. For This i am uploading snap shoot of my application
Each of Edit Text Boxes i set KEYBOARD_12KEY for input type.
if i click on any Edit box then it appears as
but if i click on edit box corresponding to G then it appears as
the upper edit boxes scroll upper side but Edit Box corresponding to G covered by the buttons..but i want that if i click then whole edit boxes scroll upper side, no one edit box left down side the buttons. like :-
can any one tell me how can i do this.
this is my xml file in the RelativeLayout -
<ScrollView android:layout_width="fill_parent" android:layout_marginBottom="30dip"
android:layout_height="wrap_content" >
<TableLayout android:layout_width="fill_parent"
android:layout_height="wrap_content" android:scrollbars="vertical">
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:textSize="20dip" android:minWidth="100dip" android:layout_weight="1" android:layout_gravity="center_vertical" android:text="A"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText01"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:textSize="20dip" android:minWidth="100dip" android:layout_weight="1" android:layout_gravity="center_vertical" android:text="B"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText02"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:textSize="20dip" android:minWidth="100dip" android:layout_weight="1" android:layout_gravity="center_vertical" android:text="C"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText03"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:textSize="20dip" android:minWidth="100dip" android:layout_weight="1" android:layout_gravity="center_vertical" android:text="D"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText04"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:textSize="20dip" android:minWidth="100dip" android:layout_weight="1" android:layout_gravity="center_vertical" android:text="E"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText05"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1"
android:baselineAligned="true">
<TextView android:layout_height="wrap_content"
android:layout_weight="1" android:textSize="20dip" android:minWidth="100dip"
android:layout_gravity="center_vertical" android:text="F"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText06"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:layout_weight="1" android:textSize="20dip" android:minWidth="100dip"
android:layout_gravity="center_vertical" android:text="G"/>
<EditText android:layout_height="40dip" android:layout_weight="1" android:layout_width="wrap_content"
android:id="@+id/EditText07"></EditText>
</TableRow>
<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
android:padding="5dip" android:layout_alignParentLeft="true"
android:layout_width="fill_parent" android:layout_weight="1">
<TextView android:layout_height="wrap_content"
android:layout_weight="1" android:textSize="20dip" android:minWidth="200dip"
android:layout_gravity="center_vertical" android:text="H"/>
<EditText android:layout_height="40dip" android:inputType="numberDecimal"
android:layout_weight="1"
android:layout_width="wrap_content" android:id="@+id/EditText08"></EditText>
</TableRow>
</TableLayout>
</ScrollView>
<TableLayout android:id="@+id/btnsLL" android:orientation="horizontal"
android:layout_height="50dip" android:gravity="center"
android:layout_alignParentBottom="true" android:layout_below="@+id/configParamsLL"
android:layout_width="fill_parent">
<TableRow>
<Button android:id="@+id/BtnResetCfg" android:layout_alignParentBottom="true"
android:layout_height="wrap_content" android:layout_weight="1"
android:layout_width="2dip" android:layout_marginRight="50dip" android:text="Reset" android:scrollbarAlwaysDrawHorizontalTrack="true"></Button>
<Button android:id="@+id/BtnSaveCfg" android:layout_alignParentBottom="true"
android:layout_height="wrap_content" android:layout_weight="1"
android:layout_width="2dip" android:layout_marginLeft="50dip" android:text="Save"></Button>
</TableRow>
</TableLayout>
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将这一行添加到您的菜单中并检查...
add this line in your menifest and check...
我建议将带有按钮的布局设置为,
并告诉带有 boxex 的布局要定位,
但要注意带有按钮的布局必须在带有文本框的布局上方声明。
现在,按钮始终会出现在 Edittext 下方,并且带有 Edittext 控件 (ScrollView) 的布局将焦点放在选定的编辑框
编辑上:
正如我所说,带有按钮的 TableLayout 必须位于 Scrollview 上方,但带有alignParentBottom(没有LayoutBelow) 和 Scrollview 必须有一个 LayoutAbove 标签:
i would suggest so set the layout with the Buttons to
and told the layout with the boxex to be locatet
but pay attentien the layout with the Buttons have to be declared ABOVE the Layout with the Textboxes.
Now the Buttons always will appear beneth the Edittext and the layout with the Edittext Controls (ScrollView) will have the focus on the selected editbox
edit:
As I said, the TableLayout with the buttons have to be over the Scrollview, but with alignParentBottom (without LayoutBelow) and the Scrollview must have a LayoutAbove tag: