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