图片控件ImageView

来源:互联网 发布:mac如何下载美服lol 编辑:程序博客网 时间:2024/05/17 05:13

ImageView控件负责显示图片,来源可以是资源文件的id,也可以是Drawable对象或者Bitmap对象,还可以是Content Provider的Uri。


ImageView常用属性

属性名称                                                                        对应方法                                                                                  说明

android:adjustViewBounds setAdjustViewBounds(boolean) 设置是否需要ImageView调整自己的边界来保证所显示的图片的长宽比例

android:maxHeight setMaxHeight(int)ImageView的最大高度,可选

android:maxWidth setMaxWidth(int)ImageView的最大宽度,可选

android:scaleType setScaleType(ImageView.ScaleType)控制图片应如何调整和移动来适合ImageView的尺寸

android:src setImageResource(int)设置ImageView要显示的图片


ImageView类中的成员方法


setAplha(int alpha)  设置透明度

setImageBitmap(Bitmap bm)设置所显示的内容为指定的Bitmap对象

setImageDrawable(Drawable drawable)设置所显示的内容为指定的Drawable对象

setImageResource(int resid)设置所显示的内容为指定的id的资源

setImageUri(Uri uri)设置所显示的内容为指定的Uri

setSelected(boolean selected)设置图片的选中状态


strings.xml

<resources>     <string name="app_name">TestActivity</string>     <string name="menu_settings">Settings</string>     <string name="title_activity_main">MainActivity</string>     <string name="next">下一张</string>     <string name="previous">上一张</string>     <string name="alpha_plus">透明度增加</string>     <string name="alpha_minus">透明度减少</string> </resources>

main.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="vertical"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     ><!-- 声明了一个垂直分布的线性布局 --> <ImageView android:id="@+id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:src="@drawable/p1" /><!-- 声明了ImageView控件  --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" ><!-- 声明了一个水平分布的线性布局 --> <Button android:id="@+id/previous" android:text="@string/previous" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" /><!-- 声明了一个Button控件 --> <Button android:id="@+id/alpha_plus" android:text="@string/alpha_plus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" /><!-- 声明了一个Button控件 --> <Button android:id="@+id/alpha_minus" android:text="@string/alpha_minus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" /> <!-- 声明了一个Button控件 --> <Button android:id="@+id/next" android:text="@string/next" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" /><!-- 声明了一个Button控件 --> </LinearLayout> </LinearLayout>

Activity

package com.example.testactivity;    import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView;  public class MainActivity extends Activity {  ImageView iv;//ImageView对象引用 Button btnNext;//Button对象引用 Button btnPrevious;//Button对象引用 Button btnAlphaPlus;//Button对象引用 Button btnAlphaMinus;//Button对象引用 int currImgId = 0;//记录当前ImageView显示的图片id int alpha=255;//记录ImageView的透明度 int [] imgId = {//ImageView显示的图片数组 R.drawable.p1, R.drawable.p2, R.drawable.p3, R.drawable.p4, R.drawable.p5, R.drawable.p6, R.drawable.p7, R.drawable.p8, }; private View.OnClickListener myListener = new View.OnClickListener(){//自定义的OnClickListener监听器 @Override public void onClick(View v) {//判断点下的是那个Button if(v == btnNext){//下一张图片按钮被按下 currImgId = (currImgId+1)%imgId.length; iv.setImageResource(imgId[currImgId]);//设置ImageView的显示图片 } else if(v == btnPrevious){//上一张图片按钮被按下 currImgId = (currImgId-1+imgId.length)%imgId.length;  iv.setImageResource(imgId[currImgId]);//设置ImageView的显示图片 } else if(v == btnAlphaPlus){//增加透明度按钮被按下 alpha -= 25; if(alpha < 0){ alpha =0; } iv.setAlpha(alpha);//设置ImageView的透明度 } else if(v == btnAlphaMinus){//减少透明度按钮被按下 alpha += 25; if(alpha >255){ alpha = 255; } iv.setAlpha(alpha);//设置ImageView的透明度 } } };     @Override     public void onCreate(Bundle savedInstanceState) {//重写onCreate方法         super.onCreate(savedInstanceState);         setContentView(R.layout.main);         iv = (ImageView)findViewById(R.id.iv);//获得ImageView对象引用         btnNext = (Button)findViewById(R.id.next);//获得ImageView对象引用         btnPrevious = (Button)findViewById(R.id.previous);//获得ImageView对象引用         btnAlphaPlus = (Button)findViewById(R.id.alpha_plus);//获得ImageView对象引用         btnAlphaMinus = (Button)findViewById(R.id.alpha_minus);//获得ImageView对象引用         btnNext.setOnClickListener(myListener);//为Button对象设置OnClickListener监听器         btnPrevious.setOnClickListener(myListener);//为Button对象设置OnClickListener监听器         btnAlphaPlus.setOnClickListener(myListener);//为Button对象设置OnClickListener监听器         btnAlphaMinus.setOnClickListener(myListener);//为Button对象设置OnClickListener监听器     }      } 

程序运行图