首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的ImageView正在根据图片改变大小(安卓)

我的ImageView正在根据图片改变大小(安卓)
EN

Stack Overflow用户
提问于 2013-07-22 19:28:16
回答 2查看 2.3K关注 0票数 3

我正在为Android编写一个应用程序,我遇到了下一个问题:

我需要显示下载的图像通过Http到一个列表视图中包含和ImageView和文本。两者或它们都包含在LinearLayout中:

代码语言:javascript
复制
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<ImageView
    android:id="@+id/imagenEvento"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:scaleType="fitXY"
    android:adjustViewBounds="true"
    android:paddingBottom="2dp"     
    android:contentDescription="@string/contenidoImagen"       

    />


<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="left"
    android:padding="10dp"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/titulo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="17sp"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/sitio"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="12sp"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <TextView
        android:id="@+id/fecha"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="12sp"
        android:textAppearance="?android:attr/textAppearanceSmall" />

</LinearLayout>

我动态地加载不同大小的图像,但是当我加载其中的一些图像时,我的ImageView的大小会受到影响,它不会考虑我的高度和宽度声明。

我试着设置最大和最小尺寸,我在代码中定义了布局参数,设置了填充底部,调整了位图,但都不起作用。

在下一张图片中,黄色圆圈显示相同的空间,红色圆圈显示ImageView和行http://imageshack.us/photo/my-images/32/csww.jpg/底部之间的不同空间

我遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-22 19:58:21

你可以试试这段代码。如果此方法有效,则可以使用相对布局,并将所有图像视图和文本放入一个布局中,然后尝试在相对布局中进行调整

代码语言:javascript
复制
<ImageView
    android:id="@+id/imagenEvento"
    android:layout_width="80dp"
    android:layout_height="fill_parent"
    android:scaleType="fitXY"
    android:adjustViewBounds="true"
    android:paddingBottom="2dp"     
    android:contentDescription="@string/contenidoImagen"       

    />

代码语言:javascript
复制
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/darker_gray"
        android:layout_alignParentTop="true" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="10dp"
            android:src="@drawable/ic_launcher" />

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="16dp"
            android:layout_toRightOf="@+id/imageView1"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="TextView" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textView1"
            android:layout_below="@+id/textView1"
            android:text="Content Name" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/textView2"
            android:layout_below="@+id/textView2"
            android:text="29/02/2009" />
    </RelativeLayout>

</RelativeLayout>

票数 3
EN

Stack Overflow用户

发布于 2013-07-22 19:52:13

如果你想要特定尺寸的ImageView,为什么要使用android:adjustViewBound?使用android:adjustViewBound,你的ImageView会改变它的大小来保持图像的纵横比。

如果你想用真的80x80显示你的图片--移除android:adjustViewBound并把scaleType改成centerCrop。这样,图像将尽可能缩小,因此两个维度都将触及ImageView边界,其余部分将被裁剪。

或者使用scaleType="centerInside“,如果你想让图像完全可见(这样看起来会更丑陋,100%保证:D)

无论哪种方式,android:adjustViewBound都必须去掉。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17786420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档