Android ImageShow的使用
2010-05-18 16:34:00 来源:WEB开发网< Gallery android:id="@+id/gallery" android:background="#55000000"
android:layout_width="fill_parent" android:layout_height="60dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:gravity="center_vertical" android:spacing="16dp" / >
< /RelativeLayout >
在这个布局文件里,外层的大的RelativeLayout包含了两个控件:分别是ImageSwithcer和Gallery。 ImageSwithcer是用来图片显示那块区域的控件,Gallery是来控制底下那个图标索引列表索引用的。
在ImageSwitcher1.java中,requestWindowFeature(Window.FEATURE_NO_TITLE)是使得这个 Activity没有titlebar,进而这个图片显示区域会增大。Gallery这个类和ListView这个类用起来差不多,也是要利用 setAdapter来进行资源的设置。这里对BaseAdapter进行了封装,这里通过getView这个函数来返回要显示的那个ImageView 的。如下所示:
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(105,105));
imageView.setAdjustViewBounds(true);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setPadding(0,0,0,0);
imageView.setImageResource(mThumbIds[position]);
imageView.setBackgroundResource(mGalleryItemBackground);
return imageView;
}
getView方法里动态生成一个ImageView,然后利用setLayoutParams ,setImageResource和setBackgroundResource分别设定要图片大小,图片源文件和图片背景。当图片被显示到当前屏幕的时候这个函数就会被自动回调来提供要显示的ImageView。下面就来说说ImageSwitcher,在ImageSwitcher1中实现了 ViewSwitcher.ViewFactory这个接口,这个接口里有个方法makeView,来看下这个方法:
public View makeView() {
ImageView i = new ImageView(this);
i.setBackgroundColor(0xFF000000);
i.setScaleType(ImageView.ScaleType.FIT_CENTER);
更多精彩
赞助商链接