简体   繁体   English

键盘出现时如何向上推edittext

[英]how to push edittext up when keyboard appears

hello i have an xml in which i have 2 edittext and listview when i click on edittext keyboard will appear but edittext will hide i want to push them up when keyborad apprears i tried all solution but no one work in my case i did adjustpan and adjustresize both but cant achieve my task below is my xml 你好,我有一个xml文件,当我单击edittext键盘时,我将有2个edittext和listview,但是当keyborad评估器尝试了所有解决方案时,edittext将隐藏起来,我想将它们向上推,但是在我的情况下没有人可以调整和调整大小两者都不能实现我下面的任务是我的XML

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scnanningscreen_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ToggleButton
        android:id="@+id/onoff_switch"
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="15dp" />

    <ImageView
        android:id="@+id/qrcode_img"
        android:layout_width="150dp"
        android:layout_height="200dp"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="24dp"
        android:src="@drawable/ab_bottom_solid_tabsstyle"
        android:visibility="invisible" 
        />

    <TextView
        android:id="@+id/txtscannerstatus"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/qrcode_img"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="21dp"
        android:layout_marginLeft="16dp"
        android:text="Scanner Status:"
        android:textSize="20sp" />

    <EditText
        android:id="@+id/etxtrunner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/txtrunner"
        android:layout_alignBottom="@+id/txtrunner"
        android:layout_alignRight="@+id/qrcode_img"
        android:layout_alignParentRight="true"
        android:background="@drawable/editbox_roundedcorner"
        android:ems="10"
        android:layout_margin="8dp"
        android:imeOptions="actionNext"
        android:singleLine="true"
        android:minHeight="30dp" />

    <EditText
        android:id="@+id/etxtposition"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/txtposition"
        android:layout_alignBottom="@+id/txtposition"
        android:layout_alignLeft="@+id/etxtrunner"
        android:background="@drawable/editbox_roundedcorner"
        android:ems="10"
        android:imeOptions="actionDone"
        android:inputType="number"
        android:singleLine="true"
        android:minHeight="30dp" >
    </EditText>

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="110dp"
        android:layout_height="178dp"
        android:layout_alignParentRight="true"
        android:layout_marginRight="7dp"
        android:layout_alignLeft="@+id/qrcode_img"
        android:layout_alignTop="@+id/onoff_switch" >

        <FrameLayout
            android:id="@+id/qrcameraPreview"
            android:layout_width="110dp"
            android:layout_height="178dp"
            android:adjustViewBounds="true"
            android:layout_alignParentRight="true"
            android:layout_marginRight="7dp"
            android:background="@drawable/corner_shapr" />

        <TextView
            android:id="@+id/campre_relative"
            android:layout_width="110dp"
            android:layout_height="178dp"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:layout_alignParentRight="true"
        android:layout_marginRight="7dp"
            android:background="@drawable/corner_shape_textview"
            android:gravity="center"
            android:text="Switch ON to Scan QR Code"
            android:textColor="#adadad"
            android:textSize="18sp" />
    </RelativeLayout>



    <TextView
        android:id="@+id/txtscanningresultfound"
        style="@style/keyboard_textview_style"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/txtprevscannedresults"
        android:layout_below="@+id/txtprevscannedresults"
        android:text="No runner found"
        android:textColor="#000000"
        android:visibility="gone" />

<RelativeLayout
    android:id="@+id/list_rl"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/txtprevscannedresults"
    android:layout_above="@+id/adview_layout" >

    <ListView
        android:id="@+id/scanning_listView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
         >
    </ListView>
</RelativeLayout>


    <TextView
        android:id="@+id/txtstatuswindow"
        android:layout_width="300dp"
        android:layout_height="wrap_content"
        android:layout_below="@+id/relativeLayout1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="16dp"
        android:background="@drawable/corner_shape_textview"
        android:gravity="center"
        android:text="Enter Runner"
        android:textColor="#00b200"
        android:textSize="25sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/txtrunner"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/txtscannerstatus"
        android:layout_below="@+id/txtstatuswindow"
        android:layout_marginTop="16dp"
        android:text="Runner:"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/txtposition"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/txtrunner"
        android:layout_below="@+id/txtrunner"
        android:layout_marginTop="14dp"
        android:text="Position:"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/txtprevscannedresults"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/txtposition"
        android:layout_below="@+id/txtposition"
        android:text="Previous Scanned Results:"
        android:layout_marginTop="5dp"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/txtqrcode"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/txtscannerstatus"
        android:layout_marginBottom="36dp"
        android:layout_toLeftOf="@+id/etxtposition"
        android:visibility="invisible"/>
<LinearLayout
        android:id="@+id/adview_layout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:orientation="horizontal" />
</RelativeLayout>

try this 尝试这个

 <activity
        android:name="com.ex.YourActivity"
        android:label="@string/app_name"
        android:windowSoftInputMode="adjustPan" >
    </activity>

What you can do is in your activity in android manifest 您可以在Android清单中进行活动

<activity
        android:name=".MainActivity"
        android:screenOrientation="portrait"
        android:label="@string/title_activity_main"
        android:windowSoftInputMode="adjustResize|stateHidden|adjustPan"" >   <!--add this-->
    </activity>

or 要么

<LinearLayout android:id="@+id/yourlayout" >
  <!-- Here add a header or whatever will not be scrolled. -->
</LinearLayout>
<ScrollView android:id="@+id/something" >
  <!-- Here add your edittexts or whatever will scroll. -->
</ScrollView>

But prefer the first approach.... 但更喜欢第一种方法。

Well I'm facing the same problem. 好吧,我面临着同样的问题。 I also tried adjustpan and adjustresize (individually and together as well). 我还尝试了Adjustpan和Adjustresize(以及单独和一起)。 After my tries I found that adjustpan (only) is working well for devices other than samsung devices. 经过尝试后,我发现adjustpan(仅)适用于除三星设备以外的其他设备。

@Ahsan Malik, on which device you are testing? @Ahsan Malik,您正在哪台设备上测试?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM