1. ImageView
1) XML中加入一个<ImageView>
2) 程序:
m_ImageView.setImageResource(R.drawable.thumb); 设置图片资源,把图片放到工程目录下的 ./res/drawable 其中一个目录就行。
m_Handler.obtainMessage() 可以从全局的消息池中得到一个消息。
m_ImageBtn.setImageDrawable(getResources().getDrawable(R.drawable.bb)); //这个可以更换image.
后面的用法也是一样的设置监听事件。
3.Gallery
1) 在 XML 文件中加入 <Gallery>
3)添加 ImageAdapter.java
gallery 只是实现图片可以左右拖动;一般是跟ImageSwitcher 一起联用,ImageSwitcher 实现图片切换,就像在Windows上点“上一张”、“下一张”切换一样。Gallery + ImageSwitcher 可以实现触摸了其中一张图片,然后将这张图片显示在正中央放大显示,这才真正实现了图片浏览效果。查看这篇文章:Android_Gallery(画廊)
1) XML中加入一个<ImageView>
2) 程序:
public class MyImageView extends Activity{
ImageView m_ImageView=null;
TextView m_TextView=null;
int image_alpha=255; //透明度
Handler m_Handler=new Handler(); //处理消息队列
boolean isrung=false;
@SuppressWarnings("deprecation")
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.image);
isrung=true;
m_ImageView=(ImageView)findViewById(R.id.image);
m_TextView=(TextView)findViewById(R.id.textview);
//设置图片资源
m_ImageView.setImageResource(R.drawable.thumb);
m_ImageView.setAlpha(image_alpha);
//开启一个线程来让alpha值递减
new Thread(new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
while(isrung){
try{
Thread.sleep(200);
updateAlpha();
}
catch(InterruptedException e)
{
e.printStackTrace();
}
}
}
}).start();
m_Handler=new Handler(){
public void handleMessage(Message msg)
{
super.handleMessage(msg);
m_ImageView.setAlpha(image_alpha);
m_TextView.setText("现在的alpha值是:"+Integer.toString(image_alpha));
m_ImageView.invalidate();
}
};
}
public void updateAlpha()
{
if(image_alpha-7>=0){
image_alpha-=7;
}
else{
image_alpha=0;
isrung=false;
}
m_Handler.sendMessage(m_Handler.obtainMessage());
}
}
图片会慢慢变透明,最后看不到了。 m_ImageView.setImageResource(R.drawable.thumb); 设置图片资源,把图片放到工程目录下的 ./res/drawable 其中一个目录就行。
m_Handler.obtainMessage() 可以从全局的消息池中得到一个消息。
2. ImageButton
1) 在 XML文件中添加<ImageButton>
<ImageButton
android:id="@+id/image_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ll"
/>
2) 程序很简单,用法同一般的button没什么区别
m_ImageBtn.setImageDrawable(getResources().getDrawable(R.drawable.bb)); //这个可以更换image.
后面的用法也是一样的设置监听事件。
3.Gallery
1) 在 XML 文件中加入 <Gallery>
<Gallery
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
2) 添加 MyGallery.java
public class MyGallery extends Activity{
private Gallery m_gallery=null;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.gallery);
m_gallery=(Gallery)findViewById(R.id.gallery);
m_gallery.setAdapter(new ImageAdapter(this)); //添加Adapter,并把this传过去
//设置gallerya的背景
m_gallery.setBackgroundResource(R.drawable.mm);
m_gallery.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
Toast.makeText(MyGallery.this,"您选择了"+(position+1)+"号图片", Toast.LENGTH_SHORT).show();
}
});
}
}
这里设置了背景,添加了提供图片资源的Adapter,并设置了监听事件。
3)添加 ImageAdapter.java
public class ImageAdapter extends BaseAdapter{
private Context m_Context;
private Integer[] m_ImageIds= //这里是图片资源
{
R.drawable.mm1,
R.drawable.mm2,
R.drawable.mm3,
R.drawable.mm4,
};
public ImageAdapter(Context c){ //传递进来的是一个MyGallery类的对象
m_Context=c;
}
public int getCount() {
// TODO Auto-generated method stub
return m_ImageIds.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView imageview=new ImageView(m_Context);
imageview.setImageResource(m_ImageIds[position]);
//设置显示大小
imageview.setLayoutParams(new Gallery.LayoutParams(240, 240));
imageview.setScaleType(ImageView.ScaleType.FIT_CENTER);
return imageview;
}
}
gallery 只是实现图片可以左右拖动;一般是跟ImageSwitcher 一起联用,ImageSwitcher 实现图片切换,就像在Windows上点“上一张”、“下一张”切换一样。Gallery + ImageSwitcher 可以实现触摸了其中一张图片,然后将这张图片显示在正中央放大显示,这才真正实现了图片浏览效果。查看这篇文章:Android_Gallery(画廊)