Android 儿童带setScaleX/Y的画廊

Android 儿童带setScaleX/Y的画廊,android,android-layout,Android,Android Layout,我有一个由自定义适配器提供的图库,使用自定义视图作为元素。我需要这些元素在默认情况下按70%缩放问题在于,画廊的行为就像是100%大小,30%透明填充=元素之间的间距很大。为了更好地理解,我附上了两张图片,其中元素比例分别为100%和70% 我不能硬编码setspace,因为在不同的分辨率下这会表现得很奇怪。我尝试设置速度(0),但没有成功我如何才能做到画廊的表现就像元素很小(70%)而不是原始大小一样? 我通过向自定义元素MagazineCell的构造函数添加setScaleX/Y来扩展元

我有一个由自定义适配器提供的图库,使用自定义视图作为元素。我需要这些元素在默认情况下按70%缩放问题在于,画廊的行为就像是100%大小,30%透明填充=元素之间的间距很大。为了更好地理解,我附上了两张图片,其中元素比例分别为100%和70%

我不能硬编码setspace,因为在不同的分辨率下这会表现得很奇怪。我尝试设置速度(0),但没有成功我如何才能做到画廊的表现就像元素很小(70%)而不是原始大小一样?

我通过向自定义元素MagazineCell的构造函数添加setScaleX/Y来扩展元素,该构造函数扩展了RelativeLayout:

public MagazineCell(Context context) {
    super(context);

    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    layout = (RelativeLayout) inflater.inflate(R.layout.mag_big, null);
    addView(layout);

    this.setScaleX(0.7f);
    this.setScaleY(0.7f);
}
我还试图在画廊的drawChild()中设置比例,但运气不佳。在adapter中,我只是将此类用于gallery元素:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    MagazineCell cell;
    position = getPosition(position);

    if (null == convertView || convertView.getClass() != MagazineCell.class) {
        cell = new MagazineCell(context);
    } else {
        cell = (MagazineCell) convertView;
    }

    return cell;
}
Gallery没有特殊代码。我正在使用运行安卓3.1的Acer Iconia TAB A500上的SDK 11


感谢您的提示或评论。

看来没有办法“欺骗”图库以缩放宽度测量缩放单元格。所以我只使用了负间距-setspace(-100)可以通过在MagazineCell类上重写onMeasure方法来计算缩放宽度。但是我没有试过这个。


这是设置刻度(0.7f)
这是设定标度(0.7f)
添加
这个.setPivotX(0)

这个.setPivotY(0)

我也遇到了这个问题。