画廊 滑动显示多个图片
layout
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" > 6 7 8 9 <Gallery 10 android:id="@+id/gallery" 11 android:spacing="5px" 12 android:unselectedAlpha="0.5" 13 android:layout_width="match_parent" 14 android:layout_height="wrap_content" /> 15 16 17 </LinearLayout>
Activity
1 package tea_xqx; 2 3 import com.example.tea.R; 4 5 import android.app.Activity; 6 import android.content.res.TypedArray; 7 import android.os.Bundle; 8 import android.view.View; 9 import android.view.ViewGroup; 10 import android.widget.AdapterView; 11 import android.widget.AdapterView.OnItemClickListener; 12 import android.widget.BaseAdapter; 13 import android.widget.Gallery; 14 import android.widget.ImageView; 15 import android.widget.TextView; 16 import android.widget.Toast; 17 18 public class MenuTeaTools extends Activity{ 19 //设置画廊图片 20 private int[] imageId = new int[] { R.drawable.menu_tea_lvcha,R.drawable.menu_tea_hongcha,R.drawable.menu_tea_baicha,R.drawable.menu_tea_heicha,R.drawable.menu_tea_huangcha,R.drawable.menu_tea_wulongcha}; 21 @Override 22 protected void onCreate(Bundle savedInstanceState) { 23 // TODO Auto-generated method stub 24 super.onCreate(savedInstanceState); 25 setContentView(R.layout.menu_tools); 26 27 Gallery gallery = (Gallery) findViewById(R.id.gallery); 28 BaseAdapter adapter = new BaseAdapter() { 29 @Override 30 public View getView(int position, View convertView, ViewGroup parent) { 31 ImageView imageview; 32 if (convertView == null) { 33 imageview = new ImageView(MenuTeaTools.this); 34 imageview.setScaleType(ImageView.ScaleType.FIT_XY); 35 imageview.setLayoutParams(new Gallery.LayoutParams(500, 400)); 36 TypedArray typedArray = obtainStyledAttributes(R.styleable.Gallery); 37 imageview.setBackgroundResource(typedArray.getResourceId( 38 R.styleable.Gallery_android_galleryItemBackground, 39 0)); 40 imageview.setPadding(5, 0, 5, 0); 41 } 42 else 43 { 44 imageview = (ImageView) convertView; 45 } 46 imageview.setImageResource(imageId[position]); 47 return imageview; 48 } 49 50 @Override 51 public long getItemId(int position) { 52 return position; 53 } 54 55 @Override 56 public Object getItem(int position) { 57 return position; 58 } 59 60 @Override 61 public int getCount() { 62 return imageId.length; 63 } 64 }; 65 gallery.setAdapter(adapter); 66 gallery.setSelection(imageId.length / 2); //默认显示的图片的id 67 //画廊图片的点击事件 68 gallery.setOnItemClickListener(new OnItemClickListener() { 69 @Override 70 public void onItemClick(AdapterView<?> parent, View view, 71 int position, long id) { 72 73 Toast.makeText(MenuTeaTools.this, 74 "第" + String.valueOf(position+1) + "张图片被选中", 75 Toast.LENGTH_SHORT).show(); 76 } 77 }); 78 } 79 80 81 82 }
最后在res/values/string.xml中添加一段代码
1 <declare-styleable name="Gallery"> 2 <attr name="android:galleryItemBackground" /> 3 </declare-styleable>
这样便完成了一个画廊的效果
时间: 2024-10-29 19:10:35