Edittext不可见

时间:2013-07-13 12:26:50

标签: android android-layout android-edittext

在我的应用程序中,我有3个按钮,一个listView和一个带图像的editText。 我的问题是,当我在editText中编辑任务时,editText的大小会大大减少。这个问题只发生在移动设备上。请帮我。 enter image description here 这是我的布局文件:

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="10" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:orientation="horizontal"
        android:weightSum="30" >

        <Button
            android:id="@+id/todaytaskbtnid"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="10"
            android:background="@drawable/buttonselector"
            android:gravity="center"
            android:text="TODAY" />

        <Button
            android:id="@+id/tomorrowtaskbtnid"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="10"
            android:background="@drawable/buttonselector"
            android:text="TOMORROW" />

        <Button
            android:id="@+id/futuretaskbtnid"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="10"
            android:background="@drawable/buttonselector"
            android:text="FUTURE" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="8" >

        <ListView
            android:id="@+id/frontpagetasklistid"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >
        </ListView>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/edittextidAddTodayTask"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:background="@drawable/edittextselector"
            android:drawableRight="@drawable/addtask"
            android:hint="Add Today Task"
            android:lines="3"
            android:maxLines="5"
            android:minLines="1" />
    </LinearLayout>

</LinearLayout>

手机拍摄: enter image description here

4 个答案:

答案 0 :(得分:2)

我相信你不应该在这个场景中使用布局权重,或者你已经混合了它们。 您可以保留线性布局和行的权重,但由于您希望编辑文本显示在屏幕的底部,我要做的是将所有内容包装在RelativeLayout中,然后绘制编辑文本并将其对齐到父级的底部,然后将线性布局对齐到编辑文本上方。

尝试这种布局(当然,不要忘记将drawables更改为drawables,因为我删除了其中一些):

<?xml version="1.0" encoding="utf-8"?>
   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
     >

        <EditText
            android:id="@+id/edittextidAddTodayTask"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:drawableRight="@drawable/addtask"
            android:hint="Add Today Task"
            android:lines="3"
            android:maxLines="5"
            android:minLines="1" />


    <LinearLayout
        android:id="@+id/topButtons"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_alignParentTop="true"
        android:weightSum="30" >

        <Button
            android:id="@+id/todaytaskbtnid"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="10"
            android:gravity="center"
            android:text="TODAY" />

        <Button
            android:id="@+id/tomorrowtaskbtnid"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="10"
            android:text="TOMORROW" />

        <Button
            android:id="@+id/futuretaskbtnid"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="10"
            android:text="FUTURE" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/edittextidAddTodayTask"
        android:layout_below="@id/topButtons"
         >

        <ListView
            android:id="@+id/frontpagetasklistid"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >
        </ListView>
    </LinearLayout>


</RelativeLayout>

答案 1 :(得分:0)

尝试给予EditText的android:layout_height="0dp"

答案 2 :(得分:0)

如何在增加编辑文本线性布局的权重的同时减少列表视图的权重?这将增强编辑文本的大小。我不认为编辑文本的xml代码需要任何权重,因为它填充了父布局。 / p>

答案 3 :(得分:-1)

您需要确保AndroidManifest.xml中的<activity>标记没有这样的configChanges属性: android:configChanges="keyboard|keyboardHidden|orientation"

当显示键盘或方向发生变化时,这将重绘活动。 http://developer.android.com/guide/topics/manifest/activity-element.html#config