我有一个xml布局,它在屏幕顶部放置一个图像,在底部放置一些文本。在两者之间,我有一个Gallery小部件,我填充了所有相同大小的图像
这样做的原因是我可以打电话
.setLayoutParams(new Gallery.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)
和图库图像将完美地适应图像和文本之间的空间。
我遇到的问题是我不希望图像变得太大。对于小分辨率,填充父母是好的。当分辨率增加时,图像变得太大,我需要一个大约200-300 dp的“上限”。
有没有办法获取LayoutParam.MATCH_PARENT的整数值?然后我可以进行比较并限制大小。
编辑 - 代码
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/chooseanimage" />
<RelativeLayout
android:id="@+id/rlayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.google.ads.AdView android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="50dp"
ads:adUnitId="--"
ads:adSize="BANNER"
ads:testDevices="TEST_EMULATOR,00"
ads:loadAdOnCreate="true"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
/>
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@id/imageView1"
android:layout_above="@id/adView"
/>
</RelativeLayout>
</LinearLayout>
和java
public View getView(int position, View convertView, ViewGroup parent) {
if( !(convertView instanceof ImageView)){
convertView = new ImageView(this.myContext);
convertView.setLayoutParams(new Gallery.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));
convertView.setBackgroundResource(imageBackground);
((ImageView) convertView).setScaleType(ImageView.ScaleType.FIT_XY);
}
((ImageView) convertView).setImageResource(this.myImageIds[position]);
return convertView;
}
答案 0 :(得分:0)
为什么不在ImageView中使用scaleType参数?
答案 1 :(得分:0)
我相信match_parent属性适用于创建曲面时。在此之前,此属性的整数值为-1并且没有意义。据我所知,一旦表面被创建,就无法获得它将需要的价值。