android imageview组件,android之ImageView组件和Gallery组件
1、ImageView组件和Gallery组件ImageView为图像视图,用于在屏幕中显示任何的Drawable对象。画廊视图用Gallery表示,能够按水平方向显示内容,并可以用手指直接拖动图片移动,一般用来浏览图片。2、定义布局管理器ImageView支持的XML属性XML属性描述android:adjustViewBounds用于设置ImageView是否调整自己的边界保持所显示图片的长宽
1、ImageView组件和Gallery组件
ImageView为图像视图,用于在屏幕中显示任何的Drawable对象。
画廊视图用Gallery表示,能够按水平方向显示内容,并可以用手指直接拖动图片移动,一般用来浏览图片。
2、定义布局管理器
ImageView支持的XML属性
XML属性
描述
android:adjustViewBounds
用于设置ImageView是否调整自己的边界保持所显示图片的长宽比
android:maxHeight
设置ImageView的最大高度,需要设置android:adjustBounds属性值为true,否则不起作用
android:maxWidth
设置ImageView的最大宽度,需要设置android:adjustBounds属性值为true,否则不起作用
android:scaleType
用于设置所显示的图片如何缩放或移动以适应ImageView的大小,其属性值可以是maxtrix(使用maxtrix方式进行缩放)、fitXY(对图片横向、纵向独立缩放,使得该图片完全适应于该ImageView,图片的纵向比可能会该改变)、fitStart(保持纵向比缩放图片,直到该图片能完全显示在ImageView中,缩放完成后该图片放在ImageView的左上角)、fitCenter(保持纵横比缩放图片,直到该图片能完全显示在ImageView中,缩放完成后改图片放在ImageView的中央)、fitEnd(保持纵横比缩放图片,直到该图片能完全显示在ImageVIew中,缩放完成后该图片放在ImageView的右下角)、center(把图片放在ImageView中间,不进行任何缩放)、centerCrop(保持纵横比缩放图片,以使得图片能完全覆盖ImageView)或centerInside(保持纵横比缩放图片,以使得ImageView能完全显示该图片)
android:src
用于设置ImageView所显示的Drawable对象的ID,例如,设置显示保存在res/drawable目录下的名称为flower.jpg的图片,可以将属性值设置为android:src=”@drawable/flower”
android:tint
用于为图片着色,其属性值可以是“#rgb”、“#argb”、“#rrggbb”或“#aarrggbb”表示的颜色值
xml代码:
http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
android:src="@drawable/icon"
android:id="@+id/imageView"
android:maxWidth="300px"
android:maxHeight="200px"
android:adjustViewBounds="true"
android:tint="#77ff0000"
android:scaleType="fitEnd"
android:layout_margin="5px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
Gallery支持的XML属性
XML属性
描述
android:animationDuration
用于设置列表项切换时的动画持续时间
android:gravity
用于设置对齐方式
android:spacing
用于设置列表项之间的间距
android:umselectedAlpha
用于设置没有选中的列表项的透明度
layout中xml中的布局:
http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
android:id="@+id/gallery1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:spacing="5px"
android:unselectedAlpha="0.6" />
res/values目录的string.xml代码
Gallery
Hello
world!
Settings
3、activity控制程序
Gallery:
package com.example.gallery;
import android.app.Activity;
import android.content.res.TypedArray;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Gallery gallery = (Gallery)
findViewById(R.id.gallery1);//获取Gallery组件
BaseAdapter adapter = new
BaseAdapter(){
@Override
public View
getView(int position,View convertView,ViewGroup parent){
ImageView
imageview; //声明ImageView的对象
if(convertView
== null){
imageview = new ImageView(MainActivity.this);//创建ImageView的对象
imageview.setScaleType(ImageView.ScaleType.FIT_XY);//设置缩放方式
imageview.setLayoutParams(new Gallery.LayoutParams(180,
135));
TypedArray typedArray =
obtainStyledAttributes(R.styleable.Gallery);
imageview.setBackgroundResource(typedArray.getResourceId(R.styleable.Gallery_android_galleryItemBackground,
0));
imageview.setPadding(5, 0, 5, 0); //设置ImageView的内边距
}
else{
imageview
= (ImageView) convertView;
}
imageview.setImageResource(imageId[position]);
return
imageview;
}
@Override
public long
getItemId(int position){
return
position ;
}
@Override
public Object
getItem(int position){
return
position;
}
@Override
public int
getCount(){
return
imageId.length;
}
};
gallery.setAdapter(adapter); //将适配器与Gallery关联
gallery.setSelection(imageId.length/2);//让中间的图片选中
gallery.setOnItemClickListener(new
OnItemClickListener(){
@Override
public void
onItemClick(AdapterView
更多推荐
所有评论(0)