1

如何创建一个始终存在EditText且遵守以下三个规则的布局:

EditText观点:

  1. 如果不存在图像,则填充整个父级(在运行时,在这种情况下,可见性将设置为View.GONE。)
  2. 如果图像的高度大于宽度,则填充父高度的 50%。
  3. 如果图像宽于高,则填充父级的其余部分。

当然,图像会被拉伸以适应父矩形最底部的 50%,同时保持纵横比。

在此处输入图像描述

4

3 回答 3

0

我不相信这可以通过单个 xml 布局来完成,但简单的方法是简单地拥有多个 xml 布局文件,您可以根据图像的存在和纵横比来扩充这些文件。

于 2012-10-08T01:01:23.533 回答
0

尝试这个:

<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="match_parent"
android:orientation="vertical" >

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:ems="10" >
</EditText>

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="0"
    android:src="@drawable/ic_launcher"/>
</LinearLayout>
于 2012-10-08T00:21:22.347 回答
0

这就是我的做法。生成的布局如下所示:

在此处输入图像描述 在此处输入图像描述

在此处输入图像描述

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

    <EditText
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:text="blah" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:visibility="gone"
        android:src="@drawable/photo1" />

</LinearLayout>
于 2012-10-08T16:29:45.803 回答