Android UI設計——Gallery控制項,androidgallery

來源:互聯網
上載者:User

Android UI設計——Gallery控制項,androidgallery
Gallery

  Gallery實現的功能是將顯示的內容左右滑動。舉例來說,有時我們下載一個APP應用的時候,會在應用市場中查看他的特性和介面,我們查看的內容通過左右滑動的方式來展示,這其實就是以Gallery控制項來實現的。

  Gallery的實現也需要使用Adapter。首先我們來看一下Gallery的幾個常用屬性:
  

  • spacing屬性:左右兩個Item離開多少距離;
  • unselectAlpha屬性:設定透明度;當在中間的Item擷取到焦點時,將不會顯示顯示透明度的屬性。

      Galleryo的監聽通過nItemSelectListener 來實現,通過這個監聽可以擷取到在Gallery顯示過程中置中的View。

Activity內容:(Adapter的使用不再詳細描述)

public class MainActivity extends Activity {    private Gallery mGalleryView;    private List<Fruit> mFruits;    private LayoutInflater mInflater;    private MyGalleryAdapter mMyGalleryAdapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mGalleryView = (Gallery) findViewById(R.id.galleray_fruit);        mInflater = getLayoutInflater();        //資料初始化。        initData();        mMyGalleryAdapter = new MyGalleryAdapter(mFruits,mInflater);        mGalleryView.setAdapter(mMyGalleryAdapter);        //監聽事件        mGalleryView.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {            @Override            public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {            //將擷取到焦點的水果,也就是置中的水果顯示出來。                Log.d("data", ""+mFruits.get(position).getmFruitName());            }            @Override            public void onNothingSelected(AdapterView<?> adapterView) {            }        });    }    private void initData() {        mFruits =new ArrayList<Fruit>();        for (int i=0; i<10;i++){            Fruit apple = new Fruit(R.mipmap.apple,"蘋果");            mFruits.add(apple);            Fruit banana = new Fruit(R.mipmap.banana,"香蕉");            mFruits.add(banana);            Fruit grape = new Fruit(R.mipmap.grape,"葡萄");            mFruits.add(grape);            Fruit watermelon = new Fruit(R.mipmap.watermelon,"西瓜");            mFruits.add(watermelon);            Fruit pineapple = new Fruit(R.mipmap.pineapple,"菠蘿");            mFruits.add(pineapple);        }    }}

著作權聲明:本文為博主原創文章,歡迎轉載,轉載請在文章顯眼處說明文章出處並給出串連。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.