第一章:初入Android大门(Gallery拖动相片特效)
16lz
2021-01-23
效果:
main.xml
main.xml
<?xml version="1.0" encoding="utf-8"?><AbsoluteLayoutandroid:id="@+id/widget0"android:layout_width="fill_parent"android:layout_height="fill_parent"xmlns:android="http://schemas.android.com/apk/res/android"><Galleryandroid:id="@+id/image"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_x="43px"android:layout_y="142px"></Gallery></AbsoluteLayout>
package gallery.test;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;public class GalleryTest extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); /** 获得 Gallery对象组件*/ ((Gallery)findViewById(R.id.image)).setAdapter(new ImageAdapter(this)); } public class ImageAdapter extends BaseAdapter{ private Context myContext; /** 定义图片*/ private int[] myImages={ android.R.drawable.btn_minus, android.R.drawable.btn_radio, android.R.drawable.ic_lock_idle_low_battery, android.R.drawable.ic_menu_camera, }; /** 存储Context*/ public ImageAdapter(Context c){ this.myContext=c; } /** 获得图片数量*/public int getCount() {// TODO Auto-generated method stubreturn this.myImages.length;}/** 获得目前图像数组ID*/@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}/**取得显示图像View,传入数组ID值读取数组图像*/@Overridepublic View getView(int position, View convertView, ViewGroup parent) {/**实例化ImageView对象*/ImageView i=new ImageView(this.myContext);/**设置图片*/i.setImageResource(this.myImages[position]);/**设置View的大小*/i.setScaleType(ImageView.ScaleType.FIT_XY);/**设置ImageView对象宽度和高度*/i.setLayoutParams(new Gallery.LayoutParams(120,120));return i;}/**距离中央距离位移梁 利用getScale返回View大小*/ public float getScale(boolean flg,int offset){ return Math.max(0,1.0f/(float)Math.pow(2, Math.abs(offset))); } }}
更多相关文章
- Android平台上的Gphone 图像演示
- (android图像处理)android之bitmap各种常用函数
- IntentService通过HandlerThread单独开启一个线程来处理所有Inte
- Android上下文对象Context
- android 字符串数组资源
- Android jni中数组参数的传递方式
- Android 官方文档:(一)动画和图像 —— 1.5 画布和画图
- Android 访问Webservice接口,参数对象不能串行化问题解决(java.lan
- Activity之间传递对象