Android普通和迴圈Gallery

來源:互聯網
上載者:User

標籤:android   gallery   迴圈   

代碼

Main.java

package com.example.gallerydemo;import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.Gallery;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;import android.widget.ImageView.ScaleType;public class Main extends Activity {private Gallery gallery = null;private Gallery galleryLoop = null;private TextView tvNum = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);tvNum = (TextView) findViewById(R.id.num);gallery = (Gallery) findViewById(R.id.gallery);gallery.setAdapter(new ImageAdapter(this));gallery.setSpacing(5);gallery.setOnItemClickListener(new OnItemClickListener() {public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {int num = arg2 + 1;// Toast.makeText(Main.this, "點擊了" + num, Toast.LENGTH_SHORT)// .show();tvNum.setText("常規Gallery:點擊了" + num);}});galleryLoop = (Gallery) findViewById(R.id.galleryLoop);galleryLoop.setAdapter(new LoopImageAdapter(this));galleryLoop.setSpacing(10);galleryLoop.setOnItemClickListener(new OnItemClickListener() {public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {int num = (arg2 + 1) % 9;if (num == 0) {num = 9;}// Toast.makeText(Main.this, "點擊了" + num, Toast.LENGTH_SHORT)// .show();tvNum.setText("迴圈Gallery:點擊了" + num);}});}// 普通Gallery的Adapterclass ImageAdapter extends BaseAdapter {private Context context;public ImageAdapter(Context context) {this.context = context;}private Integer[] imageInteger = { R.drawable.pic_1, R.drawable.pic_2,R.drawable.pic_3, R.drawable.pic_4, R.drawable.pic_5,R.drawable.pic_6, R.drawable.pic_7, R.drawable.pic_8,R.drawable.pic_9 };public Object getItem(int position) {return position;}public long getItemId(int position) {return position;}public int getCount() {return imageInteger.length;}public View getView(int position, View convertView, ViewGroup parent) {ImageView imageView = new ImageView(context);imageView.setImageResource(imageInteger[position]);imageView.setScaleType(ImageView.ScaleType.FIT_XY);imageView.setLayoutParams(new Gallery.LayoutParams(100, 100));return imageView;}}// 迴圈Gallery的Adapterclass LoopImageAdapter extends BaseAdapter {private Context context;public LoopImageAdapter(Context context) {this.context = context;}private Integer[] imageInteger = { R.drawable.pic_1, R.drawable.pic_2,R.drawable.pic_3, R.drawable.pic_4, R.drawable.pic_5,R.drawable.pic_6, R.drawable.pic_7, R.drawable.pic_8,R.drawable.pic_9 };public Object getItem(int position) {return position;}public long getItemId(int position) {return position;}public int getCount() {return Integer.MAX_VALUE;}public View getView(int position, View convertView, ViewGroup parent) {ImageView imageView = new ImageView(context);imageView.setImageResource(imageInteger[position% imageInteger.length]);imageView.setScaleType(ImageView.ScaleType.FIT_XY);imageView.setLayoutParams(new Gallery.LayoutParams(100, 100));return imageView;}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}}

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical"    tools:context="com.example.gallerydemo.Main" >    <TextView        android:id="@+id/num"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/hello_world" />    <ImageView        android:layout_width="50dp"        android:layout_height="50dp"        android:layout_gravity="center"        android:src="@drawable/arrow_down" />    <Gallery        android:id="@+id/gallery"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:gravity="bottom" />    <Gallery        android:id="@+id/galleryLoop"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:gravity="bottom" />    <ImageView        android:layout_width="50dp"        android:layout_height="50dp"        android:layout_gravity="center"        android:src="@drawable/arrow_up" /></LinearLayout>


轉載請註明出處:周木水的CSDN部落格 http://blog.csdn.net/zhoumushui

我的GitHub:周木水的GitHub https://github.com/zhoumushui


Android普通和迴圈Gallery

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.