如何在编辑文本时,点击滚动布局 [英] how to scroll up layout when clicking on edit text

查看:139
本文介绍了如何在编辑文本时,点击滚动布局的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的布局,软输入模式,并毫不手软输入模式。

但主要的问题是当我从倒数第二个编辑文本的下次点击,我想显示这两个按钮和软输入模式,最后编辑文本。请帮助

我的XML文件如下:

 <?XML版本=1.0编码=UTF-8&GT?;
     <滚动型的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android
     机器人:layout_width =FILL_PARENT
     机器人:layout_height =FILL_PARENT
     机器人:背景=@绘制/ scroll_bg>< RelativeLayout的
    的xmlns:机器人=htt​​p://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_centerHorizo​​ntal =真
        机器人:layout_marginTop =140dp
        机器人:比重=中心
        机器人:文字=@字符串/ customer_details
        机器人:文字颜色=#FFFFFF
        机器人:TEXTSIZE =12SP/>    <的EditText
        机器人:ID =@ + ID / editNameCustomerDetails
        风格=@风格/ EditText上
        机器人:layout_below =@ + ID / txtCustomerDetails
        机器人:layout_centerHorizo​​ntal =真
        机器人:layout_marginTop =12dp
        机器人:EMS =10
        机器人:提示=NAME
        安卓的inputType =TEXT/>    < RelativeLayout的
        机器人:ID =@ + ID / innerLayout
        机器人:layout_width =WRAP_CONTENT
        机器人:layout_height =WRAP_CONTENT
        机器人:layout_centerHorizo​​ntal =真
        机器人:layout_marginLeft =25dp
        机器人:layout_marginRight =25dp
        机器人:layout_marginTop =190dp
        机器人:背景=@绘制/ bg_c​​reate_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).r​​equestFocusFromTouch();
        }
    });
}

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆