編輯:Android開發實例
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;
- }
- }
- }
轉自:http://www.cnblogs.com/salam/archive/2010/10/06/1844564.html
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
先看效果圖: 首先,你得寫一個類我們命名為CornerListView [java] 代碼如下:/** * 圓角ListView示例 * @
在Andoird使用Android自帶的那些組件,像SlidingDrawer和DrawerLayout都是抽屜效果的菜單,但是在項目很多要實現的功能都收到And
可以顯示在的Android任務,通過加載進度條的進展。進度條有兩種形狀。加載欄和加載微調(spinner)。在本章中,我們將討論微調(spinner)。Spinner 用