0

在我的应用程序中,我有 3 个按钮和一个 listView 和一个带有图像的 editText。我的问题是,当我在 editText 中编辑任务时,editText 的大小会大大减小。此问题仅在移动设备上发生。请帮我。 在此处输入图像描述 这是我的布局文件:

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

手机拍摄: 在此处输入图像描述

4

4 回答 4

2

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

试试这个布局(当然,不要忘记将可绘制对象更改为您的可绘制对象,因为我删除了其中一些):

<?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>
于 2013-07-13T13:26:21.870 回答
0

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

于 2013-07-13T12:41:47.067 回答
0

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

于 2013-07-13T13:08:33.717 回答
-1

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

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

于 2013-07-13T12:45:09.230 回答