换行内容ImageView显示图像的完整大小

时间:2016-12-26 09:53:13

标签: android image imageview blur

我在android中使用imageview,当我使用属性imageview将图像放入wrap_content时高度和宽度。图像看起来非常大,因为它们具有实际尺寸,或者如果我拍摄小图像,它们变得模糊

代码

         <LinearLayout android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/showhide"
        android:layout_marginRight="20sp"
        android:layout_marginLeft="20sp"
        android:layout_marginTop="10sp"
        android:padding="5sp"
        android:weightSum="4"
        >

        <!-- delivery intimation-->
        <LinearLayout android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:id="@+id/layout_d_i"
            android:orientation="vertical"
            android:gravity="center_horizontal"
            android:layout_weight="1"
            android:weightSum="2"


            >
            <ImageView android:layout_width="wrap_content"
                android:layout_height="0dp"
                android:layout_weight="0.5"
                android:src="@drawable/delivintimation"
                android:id="@+id/delivery_intimation"
                android:layout_centerInParent="true"
                android:layout_gravity="center"
                android:layout_marginBottom="10sp"

                />

            <TextView android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="Delivery Intimation"
                android:gravity="center"
                android:maxLines="100"
                android:singleLine="false"
                android:layout_below="@id/delivery_intimation"
                android:textSize="12sp"
                android:textColor="@android:color/black"
                />

        </LinearLayout>
          </LinearLayout>

7 个答案:

答案 0 :(得分:3)

使用 - (UITableViewCellEditingStyle) tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{ return UITableViewCellEditingStyleDelete; } -(void)deleteButtonTapped:(UIButton *)deleteButton{ [self.tableView setEditing:YES animated:YES]; }

答案 1 :(得分:1)

您是否尝试使用android:scaleType属性?

示例:

android:scaleType="centerCrop"

此属性使用许多其他值,例如'fitXY','center','centerInside'等。试试这个

答案 2 :(得分:0)

imageview上使用固定大小的宽度和高度。

<ImageView
    android:layout_width="200dp"
    android:layout_height="180dp"
    android:id="@+id/imageView"
    android:src="@drawable/image"
    android:scaleType="fitXY"/>

答案 3 :(得分:0)

使用LinearyLayout包装ImageView和另一个不可见的View,并将layout_weight设置为0.3或0.5等,然后ImageView将根据您的大小。

以下是一个示例,说明如何将图像设置为屏幕尺寸的一半

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.5"
        android:background="#ff0000"
        >
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:src="@drawable/your_image"
            android:adjustViewBounds="true"
            />
    </RelativeLayout>
    <View
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.5"
        android:background="#00ff00"
        />
</LinearLayout>

如果您想将图像放在屏幕中央,可以使用相同的想法并设置适当的重量来实现目标

答案 4 :(得分:0)

您可以以编程方式手动提供宽度和高度

<ImageView   android:layout_width="100dp"
android:layout_height="200dp"
android:src="@drawable/notes"
android:id="@+id/iv_notes"
android:scaleType="fitXY"/>

scaleType-- fitXY将压缩并适合imageview中的所有图像 scaleType-- centerCrop会将图像裁剪为图像视图大小

如果您不想硬编码宽度和高度,您必须创建不同的可绘制文件夹并将不同的分辨率图像放在不同的文件夹中,可绘制文件夹的示例是

 drawable-ldpi
 drawable-mdpi
 drawable-hdpi
 drawable-xhdpi
 drawable-xxhdpi
 drawable-xxxhdpi

答案 5 :(得分:0)

在xml中使用src而不是background 请给xml看看你是如何实现它的

答案 6 :(得分:0)

您使用的代码为您提供了正确的结果:您已使用LinearLayout并使用了权重。权重将根据屏幕分辨率进行划分。只需删除LinearLayout并使用Relativelayout。接下来删除图像的所有权重,并将其属性设置为wrap_content。如果您想要提供与屏幕宽度完全匹配的图像,请以编程方式进行。

 DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int width = displaymetrics.widthPixels;
int desiredWidth=width/2;
yourView.setHeight(desiredWidth);

如果这不是您的要求,那么在您拥有这些图像的RelativeLayout中。给出属性。 android:alignParentRight="true"为{1},android:alignParentLeft="true"为另一张图片并设置边距。