標籤:風飛雪未揚 從零開始學android gallery畫廊組件
Gallery組件可以實現圖片的畫廊顯示效果。將圖片在畫廊中迴圈播放
繼承結構如下所示
| java.lang.Object |
| ? |
android.view.View |
|
? |
android.view.ViewGroup |
|
|
? |
android.widget.AdapterView<T extends android.widget.Adapter> |
|
|
|
? |
android.widget.AbsSpinner |
|
|
|
|
? |
android.widget.Gallery |
使用Gallery組件同樣要使用Adapter進行資料的配置
在這裡我們使用BaseAdapter進行資料的配置
Xml檔案
<span style="font-size:18px;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <Gallery android:layout_marginTop="20dp" android:id="@+id/gallery" android:layout_width="fill_parent" android:layout_height="wrap_content" /></RelativeLayout></span>
JAVA檔案
<span style="font-size:18px;">package com.example.gallery;import android.os.Bundle;import android.R.integer;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.Gallery.LayoutParams;import android.widget.ImageView;public class MainActivity extends Activity {private Gallery gallery;//聲明Galleryprivate int images[] = { R.drawable.a1, R.drawable.a2, R.drawable.a3,R.drawable.a4, R.drawable.a5, R.drawable.a6, R.drawable.a7,R.drawable.a8, R.drawable.a9, R.drawable.a10, R.drawable.a11,R.drawable.a12, R.drawable.a13, R.drawable.a14 };// 圖片資料@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);gallery=(Gallery)this.findViewById(R.id.gallery);//獲得Gallerygallery.setAdapter(new MyAdapter());}//建立類繼承BaseAdapterclass MyAdapter extends BaseAdapter{@Overridepublic int getCount() {// TODO Auto-generated method stub//資料量為整形資料的最大值return Integer.MAX_VALUE;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View myview, ViewGroup parent) {// TODO Auto-generated method stub//建立I那個View對象ImageView image=new ImageView(getApplicationContext());//設定圖片資料image.setImageResource(images[position%images.length]);//設定圖片的對齊image.setScaleType(ImageView.ScaleType.FIT_XY);//設定圖片的大小image.setLayoutParams(new Gallery.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));//返回ImageView return image;}}}</span>
效果如
Gallery就是通過Adapter裝載資料然後在Ui中進行畫廊的顯示
下節預報:GridView網格視圖
從零開始學android<gallery拖拉組件.二十七.>