Android活动,如应用默认活动

时间:2014-05-02 01:45:56

标签: android

我有一个包含listview的活动,在底部有edittext和bottom对齐 类似于whatsapp默认激活 当我单击底部的edittext时,软键盘会向下推动编辑文本,但它会对列表视图执行相同的操作,因此列表视图的底部部分会在按钮和文本视图下消失

这是我的XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.test.testsms.app.SMSList">

    <ListView
        android:id="@+id/contactList"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:dividerHeight="0px"
        android:divider="#00000000"
        >
    </ListView>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <Button
            android:text="@string/app_name"
            android:id="@+id/Button"
            android:layout_alignParentRight="true"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">
        </Button>

        <EditText

            android:id="@+id/EditText"
            android:layout_width="fill_parent"
            android:layout_toLeftOf="@id/Button"
            android:layout_height="wrap_content">
        </EditText>

</LinearLayout>


</LinearLayout>

2 个答案:

答案 0 :(得分:2)

如果要使用键盘向上推动edittext,则必须设置RelativeLayout而不是主RinearLayout。因此,edittext和按钮中包含的LinearLayout将位于活动的底部。当你点击edittext时,键盘就会被推上去。

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent">

...<ListView>    

<EditText 
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_alignParentBottom="true" 
android:selectAllOnFocus="true"
android:textStyle="normal"
>
</EditText> 

</RelativeLayout>

答案 1 :(得分:1)

编辑AndroidManifest.xml并添加/修改您的活动的android:windowSoftInputMode属性。请参阅http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft以获取每个选项可以执行的操作的列表。听起来你可能想尝试adjustPan