如何在编辑文本时,点击滚动布局 [英] how to scroll up layout when clicking on edit text
本文介绍了如何在编辑文本时,点击滚动布局的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的布局,软输入模式,并毫不手软输入模式。
但主要的问题是当我从倒数第二个编辑文本的下次点击,我想显示这两个按钮和软输入模式,最后编辑文本。请帮助
我的XML文件如下:
<?XML版本=1.0编码=UTF-8&GT?;
<滚动型的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT
机器人:背景=@绘制/ scroll_bg>< RelativeLayout的
的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:layout_width =match_parent
机器人:layout_height =521dp
机器人:layout_marginBottom =60dp
机器人:背景=@绘制/ BG> < com.deemtech.widgets.MenuLayout
机器人:ID =@ + ID / menuTitle
机器人:layout_width =FILL_PARENT
机器人:layout_height =WRAP_CONTENT/> <的TextView
机器人:ID =@ + ID / txtCustomerDetails
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignParentTop =真
机器人:layout_centerHorizontal =真
机器人:layout_marginTop =140dp
机器人:比重=中心
机器人:文字=@字符串/ customer_details
机器人:文字颜色=#FFFFFF
机器人:TEXTSIZE =12SP/> <的EditText
机器人:ID =@ + ID / editNameCustomerDetails
风格=@风格/ EditText上
机器人:layout_below =@ + ID / txtCustomerDetails
机器人:layout_centerHorizontal =真
机器人:layout_marginTop =12dp
机器人:EMS =10
机器人:提示=NAME
安卓的inputType =TEXT/> < RelativeLayout的
机器人:ID =@ + ID / innerLayout
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_centerHorizontal =真
机器人:layout_marginLeft =25dp
机器人:layout_marginRight =25dp
机器人:layout_marginTop =190dp
机器人:背景=@绘制/ bg_create_account1x
机器人:比重=中心
机器人:paddingBottom会=5DP
机器人:paddingLeft =25dp
机器人:paddingRight =25dp
机器人:paddingTop =8DP> <的EditText
机器人:ID =@ + ID / editEmailCustomerDetails
风格=@风格/ EditText上
机器人:layout_alignLeft =@ + ID / editPhoneCutomerDetails
机器人:layout_alignParentTop =真
机器人:layout_marginTop =52dp
机器人:EMS =10
机器人:提示=电子邮件地址
安卓的inputType =textEmailAddress/> <的EditText
机器人:ID =@ + ID / editPhoneCutomerDetails
风格=@风格/ EditText上
机器人:layout_below =@ + ID / editEmailCustomerDetails
机器人:layout_marginTop =8DP
机器人:EMS =10
机器人:提示=联系电话
机器人:最大长度=12
安卓的inputType =手机/> <! -
<的EditText
机器人:ID =@ + ID / editAdditionalInfo
机器人:layout_width =150dp
机器人:layout_height =50dp
机器人:layout_alignLeft =@ + ID / editPhoneCutomerDetails
机器人:layout_alignRight =@ + ID / editPhoneCutomerDetails
机器人:layout_below =@ + ID / editPhoneCutomerDetails
机器人:layout_marginBottom =60dp
机器人:layout_marginTop =10dp
机器人:背景=@绘制/ message_additional_box1x
机器人:EMS =10
机器人:提示=附加信息
安卓的inputType =TEXT
机器人:填充=10dp
> < requestFocus的/>
< /&的EditText GT;
- > <的EditText
机器人:ID =@ + ID / editAdditionalInfo
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignLeft =@ + ID / editPhoneCutomerDetails
机器人:layout_alignParentBottom =真
机器人:layout_alignRight =@ + ID / editPhoneCutomerDetails
机器人:layout_below =@ + ID / editPhoneCutomerDetails
机器人:layout_marginBottom =60dp
机器人:layout_marginTop =8DP
机器人:提示=附加信息
机器人:背景=@绘制/ message_additional_box1x
机器人:EMS =10
机器人:单线=真
机器人:重力=顶
机器人:行=3
机器人:填充=10dp
机器人:宽=150dp> < requestFocus的/>
< /&的EditText GT;
< / RelativeLayout的> <按钮
机器人:ID =@ + ID / btnBackCustomerDetails
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_marginTop =448dp
机器人:layout_toLeftOf =@ + ID / btnSubmitCustomerDetails
机器人:背景=@绘制/ btn_back
机器人:contentDescription =@字符串/ APP_NAME/> <按钮
机器人:ID =@ + ID / btnSubmitCustomerDetails
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_alignRight =@ + ID / editNameCustomerDetails
机器人:layout_marginTop =448dp
机器人:背景=@绘制/ btn_submit
机器人:contentDescription =@字符串/ APP_NAME/>
< / RelativeLayout的> < /滚动型>
解决方案
在你的情况,你不能简单地adjustResize窗口。另外,作为你只想显示的按钮被点击最后的编辑文本时。
所以,你可以试试这种方法,不是真正的建议,但会为您的方案工作:
@覆盖
保护无效的onCreate(捆绑savedInstanceState){
// TODO自动生成方法存根
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_mainf);
findViewById(R.id.editAdditionalInfo).setOnClickListener(新View.OnClickListener(){ @覆盖
公共无效的onClick(视图v){
Toast.makeText(sampleMediaPlayer.this,文本,700).show();
findViewById(R.id.btnBackCustomerDetails).requestFocusFromTouch();
findViewById(R.id.editAdditionalInfo).requestFocusFromTouch();
}
});
}
this is my layout with soft input mode and without soft input mode.
But main problem is when i click next from second last edit text, i want to show those two buttons and last edit text with soft input mode. Please help
my xml file is as follows
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/scroll_bg" >
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="521dp"
android:layout_marginBottom="60dp"
android:background="@drawable/bg" >
<com.deemtech.widgets.MenuLayout
android:id="@+id/menuTitle"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/txtCustomerDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="140dp"
android:gravity="center"
android:text="@string/customer_details"
android:textColor="#ffffff"
android:textSize="12sp" />
<EditText
android:id="@+id/editNameCustomerDetails"
style="@style/EditText"
android:layout_below="@+id/txtCustomerDetails"
android:layout_centerHorizontal="true"
android:layout_marginTop="12dp"
android:ems="10"
android:hint="NAME"
android:inputType="text" />
<RelativeLayout
android:id="@+id/innerLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginLeft="25dp"
android:layout_marginRight="25dp"
android:layout_marginTop="190dp"
android:background="@drawable/bg_create_account1x"
android:gravity="center"
android:paddingBottom="5dp"
android:paddingLeft="25dp"
android:paddingRight="25dp"
android:paddingTop="8dp" >
<EditText
android:id="@+id/editEmailCustomerDetails"
style="@style/EditText"
android:layout_alignLeft="@+id/editPhoneCutomerDetails"
android:layout_alignParentTop="true"
android:layout_marginTop="52dp"
android:ems="10"
android:hint="EMAIL ADDRESS"
android:inputType="textEmailAddress" />
<EditText
android:id="@+id/editPhoneCutomerDetails"
style="@style/EditText"
android:layout_below="@+id/editEmailCustomerDetails"
android:layout_marginTop="8dp"
android:ems="10"
android:hint="CONTACT NUMBER"
android:maxLength="12"
android:inputType="phone" />
<!--
<EditText
android:id="@+id/editAdditionalInfo"
android:layout_width="150dp"
android:layout_height="50dp"
android:layout_alignLeft="@+id/editPhoneCutomerDetails"
android:layout_alignRight="@+id/editPhoneCutomerDetails"
android:layout_below="@+id/editPhoneCutomerDetails"
android:layout_marginBottom="60dp"
android:layout_marginTop="10dp"
android:background="@drawable/message_additional_box1x"
android:ems="10"
android:hint="ADDITIONAL INFO"
android:inputType="text"
android:padding="10dp"
>
<requestFocus />
</EditText>
-->
<EditText
android:id="@+id/editAdditionalInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editPhoneCutomerDetails"
android:layout_alignParentBottom="true"
android:layout_alignRight="@+id/editPhoneCutomerDetails"
android:layout_below="@+id/editPhoneCutomerDetails"
android:layout_marginBottom="60dp"
android:layout_marginTop="8dp"
android:hint="ADDITIONAL INFO"
android:background="@drawable/message_additional_box1x"
android:ems="10"
android:singleLine="true"
android:gravity="top"
android:lines="3"
android:padding="10dp"
android:width="150dp" >
<requestFocus />
</EditText>
</RelativeLayout>
<Button
android:id="@+id/btnBackCustomerDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="448dp"
android:layout_toLeftOf="@+id/btnSubmitCustomerDetails"
android:background="@drawable/btn_back"
android:contentDescription="@string/app_name" />
<Button
android:id="@+id/btnSubmitCustomerDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/editNameCustomerDetails"
android:layout_marginTop="448dp"
android:background="@drawable/btn_submit"
android:contentDescription="@string/app_name" />
</RelativeLayout>
</ScrollView>
解决方案
In your case you cant simply "adjustResize" the window. Also as you only want to show the buttons when the last edit text is clicked.
So you can try this approach, not truly suggested but will work for your scenario:
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mainf);
findViewById(R.id.editAdditionalInfo).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(sampleMediaPlayer.this, "text", 700).show();
findViewById(R.id.btnBackCustomerDetails).requestFocusFromTouch();
findViewById(R.id.editAdditionalInfo).requestFocusFromTouch();
}
});
}
这篇关于如何在编辑文本时,点击滚动布局的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文