首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android square图像视图

Android square图像视图
EN

Stack Overflow用户
提问于 2011-07-11 08:04:50
回答 3查看 2.6K关注 0票数 7

我正在尝试制作一个带有正方形图像视图的表格(并且都具有相同的大小)。问题是图像具有不同的高度和宽度。表格是3x3的,我想:每个单元格都有一个with = 1/3的屏幕宽度(可能是布局权重?)如果有一种方法可以在xml中定义,而不是在代码中定义,那么height =width就会更好。请解释它,因为我是一个菜鸟,布局权重=(提前谢谢,

EN

回答 3

Stack Overflow用户

发布于 2011-07-11 09:13:40

尝试scaleType属性。你想要centerCrop,我想。

票数 4
EN

Stack Overflow用户

发布于 2011-07-11 09:59:26

您也可以使用scaleType=fitXY将每个图像压缩到imageview的尺寸中

票数 1
EN

Stack Overflow用户

发布于 2014-06-10 19:52:40

扩展imageveiw可能是最干净的解决方案。这对我来说很有效:

代码语言:javascript
复制
public class Icon extends ImageView {

public Icon(final Context context) {
    super(context);
}

public Icon(final Context context, final AttributeSet attrs) {
    super(context, attrs);
}

public Icon(final Context context, final AttributeSet attrs,
        final int defStyle) {
    super(context, attrs, defStyle);
}

@Override
protected void onMeasure(int width, int height) {
    super.onMeasure(width, height);
    int measuredWidth = getMeasuredWidth();
    int measuredHeight = getMeasuredHeight();
    if (measuredWidth > measuredHeight) {
        setMeasuredDimension(measuredHeight, measuredHeight);
    } else {
        setMeasuredDimension(measuredWidth, measuredWidth);

    }

}

}

在xml中:

代码语言:javascript
复制
<com.your_package_name.Icon
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scaleType="centerCrop"
    android:src="@drawable/screen" />
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6644583

复制
相关文章

相似问题

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