編輯:關於Android編程
Gallery視圖和之前用到的Spinner視圖,ListView視圖等很類似,操作也異曲同工,都是需要Adapter來和數據源匹配起來。
基本上都是使用繼承BaseAdapter來實現。
看著教程做的時候,發現設置了 沒有選中列表項的透明度為0.6(選中的為1) 但是程序首次運行,顯示正常,但是當滑動一次後,所有的列表項都變為透明的,上網查找,才發現,沒有設置顯示圖片的背景/背景色,設置背景色為黑色後,一切正常。
xml代碼
java代碼
Gallery gallery; int[] imageIds=new int[] { R.drawable.ic_launcher, R.drawable.ic_launcher, R.drawable.ic_launcher, // R.drawable.ic_launcher, // R.drawable.ic_launcher, // R.drawable.ic_launcher, // R.drawable.ic_launcher } ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test_gallery); gallery=(Gallery)findViewById(R.id.gallery); BaseAdapter adapter=new BaseAdapter() { @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView=new ImageView(TestGalleryActivity.this); imageView.setImageResource(imageIds[position%imageIds.length]); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setLayoutParams(new Gallery.LayoutParams(75,100)); imageView.setBackgroundColor(Color.BLACK); return imageView; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return position; } @Override public int getCount() { // TODO Auto-generated method stub return imageIds.length; } }; gallery.setAdapter(adapter); }
主要就是getVIew中 imageView.setBackgroundColor(Color.BLACK); 以上只是一個簡單的例子。
事件觸發的監聽器和其他視圖都類似。
Gallery視圖可以在一行顯示多張圖片(或其他信息),而且支持水平拖動,也就是說不需要再額外增加水平滾動條。貌似只能讓最中間一個列表項作為選中的項,這樣只能實現特定功能,不好控制。但是作為圖片浏覽很是有很多其他創意的,比如網上可以找到3D顯示等等。
Gallery視圖已過期,網上牛人解釋是:不能通過它的適配器(Adapter)合適的使用convertView,也就是說在繪制一個展示時,不得不為每個item創建一個新的視圖。(Gallery不能回收視圖,浪費資源)
引言隨著項目中動態鏈接庫越來越多,我們也遇到了很多奇怪的問題,比如只在某一種 OS 上會出現的 java.lang.UnsatisfiedLinkError,但是明明我們
本文實例講述了Android編程之ICS式下拉菜單PopupWindow實現方法。分享給大家供大家參考,具體如下:運行效果截圖如下:右邊這個就是下拉菜單啦,看見有的地方叫
本次分兩個大方向去講解Web Api,1、如何實現Web Api?2、如何Android端如何調用Web Api?對於Web Api是什麼?有什麼優缺點?為什麼用WebA
package com.example.test_login; import android.app.Ac