Android UI控制元件系列:GridView(網格佈局)
GridView按照行列的方式來顯示內容,一般適合顯示圖示、圖片等內容,主要用於設定Adapter
在這裡主要是基礎BaseAdapter類,重寫其中的方法,主要是重寫getView方法設定圖片的顯示格式
例項程式碼如下
GridViewTest.java
/* * @author hualang */ package org.hualang.grid; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; public class GridViewTest extends Activity { /** Called when the activity is first created. */ private GridView gv; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //通過findViewById方法獲得GridView物件 gv=(GridView)findViewById(R.id.GridView01); //設定GridView的行數 gv.setNumColumns(4); gv.setAdapter(new MyAdapter(this)); } //自定義介面卡 class MyAdapter extends BaseAdapter { //圖片id陣列 private Integer[] imgs={ R.drawable.img01, R.drawable.img02, R.drawable.img03, R.drawable.img04, R.drawable.img05, R.drawable.img06, R.drawable.img07, R.drawable.img08, R.drawable.img01, R.drawable.img02, R.drawable.img03, R.drawable.img04, R.drawable.img05, R.drawable.img06, R.drawable.img07, R.drawable.img08 }; //上下文物件 Context context; //構造方法 MyAdapter(Context context) { this.context=context; } //獲得數量 public int getCount() { return imgs.length; } //獲得當前選項 public Object getItem(int item) { return item; } //獲得當前選項id public long getItemId(int id) { return id; } //建立View方法 public View getView(int position,View convertView,ViewGroup parent) { ImageView imageView; if(convertView==null) { //例項化ImageView物件 imageView=new ImageView(context); //設定ImageView物件佈局 imageView.setLayoutParams(new GridView.LayoutParams(45,45)); //設定邊界對齊 imageView.setAdjustViewBounds(false); //設定刻度型別 imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); //設定間距 imageView.setPadding(8,8,8,8); }else { imageView=(ImageView)convertView; } //為ImageView設定圖片資源 imageView.setImageResource(imgs[position]); return imageView; } } }
main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <GridView android:id="@+id/GridView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></GridView> </LinearLayout>
執行結果如下
相關文章
- Android UI控制元件系列:TableLayout(表格佈局)AndroidUI控制元件
- Flutter網格型佈局 - GridView篇FlutterView
- Android UI控制元件系列:RelativeLayout(相對佈局)AndroidUI控制元件
- Android UI控制元件系列:LinearLayout(線性佈局)AndroidUI控制元件
- Bootstrap系列 -- 10. 網格佈局boot
- AutoFlowLayout:多功能流式佈局與網格佈局控制元件控制元件
- CSS網格佈局CSS
- GridPane網格佈局
- grid網格佈局
- Flutter學習指南:UI佈局和控制元件FlutterUI控制元件
- Android UI控制元件系列:WebView(網路檢視)AndroidUI控制元件WebView
- 網格佈局管理器
- CSS Grid 網格佈局CSS
- Android入門教程 | UI佈局之RelativeLayout 相對佈局AndroidUI
- Android UI控制元件系列:Toast(提示)AndroidUI控制元件AST
- GridView實現方塊佈局View
- Android入門教程 | UI佈局之LinearLayout 線性佈局AndroidUI
- Android學習之 UI佈局優化AndroidUI優化
- SAP UI5 Form 控制元件的 ColumnLayout 佈局特性UIORM控制元件
- CSS Grid 網格佈局教程CSS
- Android控制元件佈局屬性全解Android控制元件
- Android UI控制元件系列:Button(按鈕)AndroidUI控制元件
- Android UI控制元件系列:TextView(文字框)AndroidUI控制元件TextView
- 阿里Android開發規範:UI 與佈局阿里AndroidUI
- css網格佈局的最佳實踐CSS
- Android UI控制元件系列:Spinner(下拉選單)AndroidUI控制元件
- Android UI控制元件系列:ProgressBar(進度條)AndroidUI控制元件
- Flutter 佈局(八)- Stack、IndexedStack、GridView詳解FlutterIndexView
- [Android] 列表控制元件(RecycleView,GridView)Android控制元件View
- css佈局系列1——盒模型佈局CSS模型
- 【圖片版】學習CSS網格佈局CSS
- 原生 CSS 網格佈局學習筆記CSS筆記
- 原生CSS網格佈局學習筆記CSS筆記
- Android UI控制元件系列:Gallery(畫廊檢視)AndroidUI控制元件
- Android UI控制元件系列:TabWidget(切換卡)AndroidUI控制元件
- Android UI控制元件系列:AutoCompleteTextView(自動提示)AndroidUI控制元件TextView
- Android 佈局Android
- CSS Grid 網格佈局邊框設定CSS