拉伸EditText以调整图像

时间:2012-10-07 23:31:08

标签: android android-layout

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

EditText视图:

    如果没有图像,则
  1. 填充整个父级(在运行时,在这种情况下,可见性将设置为View.GONE。)
  2. 如果图像高于宽度,则
  3. 填充父高度的50%。
  4. 如果图像比图像宽,则
  5. 填充父图像的其余部分。
  6. 当然,图像被拉伸以适合父矩形的最底部50%,同时保留纵横比。

    enter image description here

3 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

我不相信这可以通过单个xml布局完成,但简单的方法就是根据图像的存在和宽高比,简单地使用多个xml布局文件。

答案 2 :(得分:0)

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

enter image description here enter image description here

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

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