聽說?Gallery現在已經不使用了,API使用ViewPaper代替了,以后再學專研ViewPaper吧現在說說Gallery畫廊,就是不停顯示圖片的意思
**Gallery是用來水平滾動的顯示一系列項目。Gallery組件可以橫向顯示一個圖像列表,當單擊當前圖像的后一個圖像時,這個圖像列表會向左移動一格,當單擊當前圖像的前一個圖像時,這個圖像列表會向右移動一樣**。也可以通過拖動的方式來向左和向右移動圖像列表在使用Gallery的時候,我們應指定他的背景,不然它的項目會緊湊的貼在一起,不會產生畫廊的效果了。但是,你也可以通過指定Gallery的屬性來設置距離,高度等參數來產生畫廊的效果。
Gallery的xml屬性:

可以看到只有4個屬性:
animationDuration:當布局已經改變,設置一個過渡動畫應該運行多長時間(以毫秒為單位)。
gravity:項目的位置,對齊方式
spacing:設置項目之間間距,圖片之間的間距
unselectedAlpha:設置沒有選擇時的Alpha,沒有選中圖片的透明度
一個簡單的例子,使用一個Gallery,一個ImageView顯示選中的圖片。
方法是:Gallery既然AdapterView的子類當然是可以使用Adapter來提供列表項的。當點擊列表項時,ImageView顯示圖片
main.xml
~~~
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="320dp"
android:layout_height="320dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/baiyang" />
<!-- android:unselectedAlpha設置沒選中圖片的透明度 android:spacing設置圖片之間間隔 -->
<Gallery
android:id="@+id/gallery1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:spacing="4dp"
android:unselectedAlpha="0.6" />
</LinearLayout>
~~~
MainActivity.java
~~~
public class MainActivity extends Activity {
int[] imagesids=new int[]{
R.drawable.p1, R.drawable.p2,R.drawable.p3,R.drawable.p4,
R.drawable.p5,R.drawable.p6,R.drawable.p7,R.drawable.p8
};
Gallery g;
ImageView image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
g=(Gallery) findViewById(R.id.gallery1);
image=(ImageView) findViewById(R.id.imageView1);
BaseAdapter ba=new BaseAdapter(){
@Override
public int getCount() {
// TODO Auto-generated method stub
return imagesids.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
//設置子選項ImageView的外觀
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ImageView imageview= new ImageView(MainActivity.this);
imageview.setImageResource(imagesids[position]);
imageview.setScaleType(ImageView.ScaleType.FIT_XY);
imageview.setLayoutParams(new Gallery.LayoutParams(160,200));
return imageview;
}
};
//設置adapter
g.setAdapter(ba);
//設置選項被選監聽器
g.setOnItemSelectedListener(new OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
image.setImageResource(imagesids[position]);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
}
});
}
~~~
看了幾篇好的博客,可以實現循環Gallery,3DGallery的效果,先放一下,現在時間緊沒有時間專研,現在留著以后學習
[http://blog.csdn.net/loongggdroid/article/details/7581236](http://blog.csdn.net/loongggdroid/article/details/7581236)
[http://blog.csdn.net/herryz/article/details/6141957](http://blog.csdn.net/herryz/article/details/6141957)
[http://blog.csdn.net/easyer2012/article/details/8244483](http://blog.csdn.net/easyer2012/article/details/8244483)
- 前言
- Eclipse搭建android環境及Genymotion模擬器安裝問題解決方法
- 表格布局(TableLayout)及重要屬性
- 幀布局(FrameLayout)及屬性
- layout_width和width,layout_height和height
- UI組件之TextView及其子類
- UI組件之TextView及其子類(一)TextView和EditText
- UI組件之TextView及其子類(二)RadioButton和CheckBox
- UI組件之TextView及其子類(三)ToggleButton和Switch
- UI組件之TextView及其子類(四)AnalogClock,DigitalClock
- UI組件之TextView及其子類(五)計時器Chronometer
- UI組件之ImageView及其子類(一)ImageView顯示圖片
- UI組件之ImageView及其子類(二)ImageButton ,ZoomButton
- UI組件之AdapterView及其子類關系,Adapter接口及其實現類關系
- UI組件之AdapterView及其子類(一)三種Adapter適配器填充ListView
- UI組件之AdapterView及其子類(二)GridView網格視圖的使用
- UI組件之AdapterView及其子類(三)Spinner控件詳解
- UI組件之AdapterView及其子類(四)Gallery畫廊控件使用
- UI組件之AdapterView及其子類(五)ListView組件和ListActivity
- UI組件之AdapterView及其子類(六)ExpandableListView組件和ExpandableListActivity的使用
- UI組件之 ProgressBar及其子類(一)ProgressBar進度條的使用
- UI組件之ProgressBar及其子類(二)SeekBar拖動條和RatingBar星級評分條的使用
- ViewFlipper的功能和用法
- Toast的功能和用法
- TabHost選項卡的 功能和用法
- AlertDialog創建6種對話框的用法
- Android基于監聽的事件處理機制
- Android基于回調的事件處理
- Handler消息傳遞機制(一)
- Handler消息傳遞機制(二)Handler,Loop,Message,MessageQueue的工作原理
- 啟動Activity的兩種方式startActivity和startActivityForResult(一)
- 啟動Activity的兩種方式startActivity和startActivityForResult(二)
- Activity的生命周期理解
- Bundle在Activity之間交換數據
- 通過 Intent 傳遞類對象
- Intent對象詳解(一)
- Intent對象詳解(二)
- 使用指定的Action,Category調用系統Activity
- 使用Action,Data屬性啟動系統Activity
- Android數據存儲的三種方式-SharedPrefrences,File,SQLite