不应该在布局内部缩放ImageView

时间:2014-02-02 19:42:02

标签: java android xml imageview

我有一个简单的垂直布局,下面有一个editText和一个ImageView 问题是,当用户编辑EditText并且它太长时,它下面的ImageView最终被“压碎”并调整大小以避免屏幕滚动,如下所示:

problem

当我想要相反时,保留图像大小并在屏幕滚动溢出时允许屏幕滚动。

通过在线搜索,我认为我必须更改scaleTypeadjustViewBounds参数,但我没有运气玩它们。
奇怪的是,即使手动设置高minHeight似乎也无法解决问题 有什么建议吗?

编辑:xml添加:

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

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

    <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/editText"
            android:layout_gravity="left|center_vertical"
            android:hint="Nothing here. Type your thoughts?"
            android:background="?attr/background_card"
            android:layout_margin="8dp"
            android:padding="16dp"/>
    <ImageView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@+id/imageView" android:layout_gravity="center_horizontal"                 android:paddingLeft="14dp"
            android:paddingRight="14dp"
            android:scaleType="center"
            android:adjustViewBounds="false"/>
</LinearLayout>

1 个答案:

答案 0 :(得分:0)

来自:http://developer.android.com/guide/topics/ui/layout/linear.html

  

LinearLayout还支持为各个孩子分配权重   使用android:layout_weight属性。此属性指定一个   对于视图的“重要性”价值应该是多少空间   占据屏幕上。较大的重量值允许它扩展到   填充父视图中的任何剩余空间。子视图可以指定一个   权重值,然后视图组中的任何剩余空间   按照宣称的体重比例分配给儿童。   默认权重为零。

     

例如,如果有三个文本字段,其中两个声明了一个   重量为1,而另一个没有给予重量,第三个文字字段   没有重量不会增长,只会占据所需的面积   它的内容。另外两个将同等扩展以填补空间   测量完三个场后剩下的。如果第三个字段是   然后给出2的权重(而不是0),那么它现在被宣布更多   比其他人都重要,所以它剩下的一半   空间,而前两个平均分享其余部分。

理论上我认为它应该可以解决你的问题。