Ric*_*ard 11 android imageview galleryview
我正在尝试扩展一个ImageView,它可以缩放我可以在GalleryView中显示的Drawable.除了没有应用ImageView的属性之外,我的代码来扩展视图似乎工作正常.具体来说,膨胀的ImageView没有我通过XML中的android:layout params为它设置的宽度/高度.
有人能告诉我我做错了什么吗?
我想在dp中设置图像的宽度/高度,以便在多个屏幕dpis上设置正确的大小并支持Android 1.5+.结果我不能使用类似的东西:
i.setLayoutParams(new Gallery.LayoutParams(150, 116)
Run Code Online (Sandbox Code Playgroud)
我的布局定义是:
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="150dp" android:layout_height="116dp"
android:background="@drawable/gallery_item_background"
android:scaleType="fitXY" />
</ImageView>
Run Code Online (Sandbox Code Playgroud)
我用来给ImageView充气的片段是:
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = getLayoutInflater();
ImageView i = (ImageView) inflater.inflate(R.layout.gallery_item, null);
i.setImageResource(mImageIds.get(position));
i.setScaleType(ImageView.ScaleType.FIT_XY);
return i;
}
Run Code Online (Sandbox Code Playgroud)
Rom*_*Guy 26
诀窍就是使用以下版本inflate():
inflater.inflate(R.layout.gallery_item, parent, false);
Run Code Online (Sandbox Code Playgroud)
最后两个参数是必需的.如果将"null"作为父级传递,则inflater不知道要创建的布局参数类型,因此会忽略所有android:layout_XML属性.最后一个参数只是告诉inflater不要立即将膨胀的视图添加到父级.如果你传递true(至少在Adapter的getView()方法中),会发生不好的事情.
| 归档时间: |
|
| 查看次数: |
8654 次 |
| 最近记录: |