如何在键盘出现时按下edittext

时间:2014-11-11 11:29:18

标签: android android-layout android-listview android-edittext android-softkeyboard

你好我有一个xml,其中我有2个edittext和listview当我点击edittext键盘会出现但edittext将隐藏我想要推它们当keyborad apprears我尝试了所有解决方案但没有人工作在我的情况下我做了adjustpan和adjustresize both,但是我的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>

3 个答案:

答案 0 :(得分:3)

试试这个

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

答案 1 :(得分:0)

你可以做的是你在android manifest中的活动

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

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

但更喜欢第一种方法......

答案 2 :(得分:0)

我面临同样的问题。我也尝试过adjustpan和adjustresize(单独和一起)。经过我的尝试后,我发现adjustpan(仅限)适用于三星设备以外的设备。

@Ahsan Malik,您正在测试哪台设备?