package com.lhw.android;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends Activity {
private TextView mTextView0;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mTextView0=(TextView)findViewById(R.id.myTextView);
mTextView0.setText(getString(R.string.str_txt1));
mTextView0.setTextColor(Color.BLUE);
((Gallery)findViewById(R.id.myGallery)).setAdapter(new ImageAdapter(this));

//跳转到下一Activity
Button btn=(Button)this.findViewById(R.id.btn);
btn.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
Intent intent=new Intent();
intent.setClass(MainActivity.this,GalleryActivity.class);
startActivity(intent);
MainActivity.this.finish();
}
});
}

public class ImageAdapter extends BaseAdapter{
//类成员myContext为Context父类
private Context myContext;

//使用android.R.drawable里的图片作为图库来源,类型为整数数组
private Integer[] myImageIds={
android.R.drawable.btn_minus,
android.R.drawable.btn_radio,
android.R.drawable.ic_lock_idle_low_battery,
android.R.drawable.ic_menu_camera,
android.R.drawable.ic_menu_call
};
//构造器只有一个参数,即要存储的Context
public ImageAdapter(Context c){
this.myContext=c;
}
//返回所有已定义的图片总数量
public int getCount(){
return this.myImageIds.length;
}

//利用getItem方法,取得目前容器中图像的数组ID
public Object getItem(int position){
return position;
}

public long getItemId(int position){
return position;
}

//取得目前欲显示的图像View,传入数组ID值使之读取与成像
public View getView(int position,View convertView,ViewGroup parent){
//创建一个ImageView对象
ImageView i=new ImageView(this.myContext);
i.setImageResource(this.myImageIds[position]);
i.setScaleType(ImageView.ScaleType.FIT_XY);
//设置这个ImageView对象的宽高,单位dip
i.setLayoutParams(new Gallery.LayoutParams(120,120));
return i;
}

//依据距离中央的位移量,利用getScale返回views的大小(0.0f to 1.0f)
public float getScale(boolean focused,int offset){
return Math.max(0,1.0f/(float)Math.pow(2,Math.abs(offset)));
}
}
}

package com.lhw.android;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

public class GalleryActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.layout1);

Gallery g=(Gallery)this.findViewById(R.id.myGallery1);
// 为缩略图浏览器指定一个适配器
g.setAdapter(new ImageAdapter(this));
g.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View v, int position,
long id) {
//输出所点击图片的position
Toast.makeText(GalleryActivity.this, ""+position,Toast.LENGTH_SHORT).show();
}
});
}

public class ImageAdapter extends BaseAdapter{

private Context context;
private Integer[] myImageIds={R.drawable.me,R.drawable.wf,R.drawable.wf1,R.drawable.wf2};
public ImageAdapter(Context context){
this.context=context;
}

public int getCount() {
return myImageIds.length;
}

public Object getItem(int position) {
return position;
}

public long getItemId(int position) {
return position;
}

public View getView(int position, View convertView, ViewGroup parent) {
ImageView iv=new ImageView(context);
iv.setImageResource(myImageIds[position]);
iv.setLayoutParams(new Gallery.LayoutParams(120,120));
iv.setScaleType(ImageView.ScaleType.FIT_XY);
return iv;
}

}
}

Menu:

重写Activity的两个方法

@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0,0,0,R.string.menu1);
menu.add(0,1,1,R.string.menu2);
return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item){
super.onOptionsItemSelected(item);
switch(item.getItemId()){
case 0:
openOptionsDialog();
break;
case 1:
finish();
break;
}
return true;
}

感觉周末比平时还累,也得看会儿电影去了。



更多相关文章

  1. android 图片展示
  2. Android播放GIF图片
  3. android 图片进度条
  4. android 把图片状态由彩色变成灰色
  5. Android图片缩放
  6. android设置图片变化的四种效果代码

随机推荐

  1. Android使用腾讯X5内核替换原生webview
  2. android那点事
  3. 免root实现 Android改机(一键新机)技术解密
  4. 零点起飞学Android开发
  5. Android Studio遇到Failed to resolve: c
  6. Android Jetpack Components of Lifecycl
  7. android中usb数据通信速率慢问题解决办法
  8. Android开发秘籍学习笔记(三)
  9. Android中关于FTP的文件上传和下载
  10. android发送模拟按键消息,出现死锁,timeout