Android(安卓)控件之Gallery图片集
16lz
2022-01-12
Android 控件之Gallery图片集
Gallery是Android中的图片库控件。先看效果,爽一番
源码下载
一、简介
在中心锁定,水平显示列表的项。
二、实例
1.布局文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:orientation="vertical" android:layout_height="wrap_content"> <Gallery xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/gallery" android:layout_width="match_parent" android:layout_height="wrap_content"/><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> <Gallery android:id="@+id/gallery1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:spacing="16dp" /></LinearLayout></LinearLayout>
2.属性文件
<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="TogglePrefAttrs"> <attr name="android:preferenceLayoutChild" /> </declare-styleable> <!-- These are the attributes that we want to retrieve from the theme in view/Gallery1.java --> <declare-styleable name="Gallery1"> <attr name="android:galleryItemBackground" /> </declare-styleable> <declare-styleable name="LabelView"> <attr name="text" format="string" /> <attr name="textColor" format="color" /> <attr name="textSize" format="dimension" /> </declare-styleable></resources> 3.代码/** * */package wjq.WidgetDemo;import android.R.layout;import android.app.Activity;import android.content.Context;import android.content.res.TypedArray;import android.database.Cursor;import android.os.Bundle;import android.provider.Contacts.People;import android.view.ContextMenu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.view.ContextMenu.ContextMenuInfo;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;import android.widget.SimpleCursorAdapter;import android.widget.SpinnerAdapter;import android.widget.Toast;import android.widget.AdapterView.AdapterContextMenuInfo;/** * @author 记忆的永恒 * */public class GalleryDemo extends Activity { private Gallery gallery; private Gallery gallery1; /* * (non-Javadoc) * * @see android.app.Activity#onCreate(android.os.Bundle) */ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.gallerypage); gallery = (Gallery) findViewById(R.id.gallery); gallery.setAdapter(new ImageAdapter(this)); registerForContextMenu(gallery); Cursor c = getContentResolver().query(People.CONTENT_URI, null, null, null, null); startManagingCursor(c); SpinnerAdapter adapter = new SimpleCursorAdapter(this, // Use a template that displays a text view android.R.layout.simple_gallery_item, // Give the cursor to the list adatper c, // Map the NAME column in the people database to... new String[] {People.NAME}, // The "text1" view defined in the XML template new int[] { android.R.id.text1 }); gallery1= (Gallery) findViewById(R.id.gallery1); gallery1.setAdapter(adapter); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { menu.add("Action"); } @Override public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item .getMenuInfo(); Toast.makeText(this, "Longpress: " + info.position, Toast.LENGTH_SHORT) .show(); return true; } public class ImageAdapter extends BaseAdapter { int mGalleryItemBackground; private Context mContext; private Integer[] mImageIds = { R.drawable.b, R.drawable.c, R.drawable.d, R.drawable.f, R.drawable.g }; public ImageAdapter(Context context) { mContext = context; TypedArray a = obtainStyledAttributes(R.styleable.Gallery1); mGalleryItemBackground = a.getResourceId( R.styleable.Gallery1_android_galleryItemBackground, 0); a.recycle(); } @Override public int getCount() { return mImageIds.length; } @Override public Object getItem(int position) { return position; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView i = new ImageView(mContext); i.setImageResource(mImageIds[position]); i.setScaleType(ImageView.ScaleType.FIT_XY); i.setLayoutParams(new Gallery.LayoutParams(300, 400)); // The preferred Gallery item background i.setBackgroundResource(mGalleryItemBackground); return i; } }}
更多相关文章
- Android中自定义控件之飞入飞出布局及随机布局实现方式
- 学习Android中的Adapter
- android实现页面下方的Tab效果
- android google map apiKey 相关操作
- android移植详解
- Android(安卓)日期和时间选择控件的开发
- android平台上的文件下载,文件和文件的操作
- android 五大布局
- NPM 和webpack 的基础使用