国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android編程之九宮格實現方法實例分析

2020-04-11 11:04:45
字體:
來源:轉載
供稿:網友

本文實例講述了Android編程之九宮格實現方法。分享給大家供大家參考,具體如下:

顯示九宮格需要用GridView , 要顯示每個格子中的視圖有兩種方式,第一種方式是做成xml文件,再將xml文件做成視圖。第二種方式就是在代碼中構建出這樣一種布局,這里采用第一種方式來實現:

GridView:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="fill_parent"  android:layout_height="fill_parent"  > <!-- id gv_all  寬高都是填充父窗體  numcolums 為3  水平控件的距離 10px  垂直距離是10px  gridview 離底部58px  離頂部28px  離左邊5px  離右邊5px --><GridView  android:id="@+id/gv_all"  android:layout_height="fill_parent"  android:layout_width="fill_parent"  android:numColumns="3"  android:horizontalSpacing="10px"  android:verticalSpacing="10px"  android:layout_marginBottom="58px"  android:layout_marginTop="28px"  android:layout_marginLeft="5px"  android:layout_marginRight="5px"></GridView></RelativeLayout>

視圖:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="90px" android:layout_height="90px">  <ImageView   android:layout_width="64px"   android:layout_height="64px"   android:layout_gravity="center_horizontal"   android:id="@+id/main_gv_iv"  />  <TextView  android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:layout_gravity="center_horizontal"   android:textSize="16px"   android:textColor="#FFF"   android:id="@+id/main_gv_tv"  /></LinearLayout>

初始化:

public class MainActivity extends Activity {  public static final String TAG = "MainActivity";  GridView maingv;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    //全屏    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);    setContentView(R.layout.mainactivity);    //獲取到GridView    maingv = (GridView) this.findViewById(R.id.gv_all);    //給gridview設置數據適配器    maingv.setAdapter(new MainGridViewAdapter(this));    //點擊事件    maingv.setOnItemClickListener(new MainItemClickListener());  }  private class MainItemClickListener implements OnItemClickListener{    /**     * @param parent 代表當前的gridview     * @param view 代表點擊的item     * @param position 當前點擊的item在適配中的位置     * @param id 當前點擊的item在哪一行     */    public void onItemClick(AdapterView<?> parent, View view, int position,        long id) {      switch (position) {      case 0:        Intent intent = new Intent(MainActivity.this,LostProtectedActivity.class);        startActivity(intent);        break;      }    }  }}

設置數據適配器 :

// 完成gridview 數據到界面的適配public class MainGridViewAdapter extends BaseAdapter {  private static final String TAG = "MainGridViewAdapter";  private String[] names = {"手機防盜","通訊衛士","軟件管理","任務管理","上網管理","手機殺毒","系統優化","高級工具","設置中心"};  private int[] icons = {R.drawable.safe,R.drawable.callmsgsafe,R.drawable.app,R.drawable.taskmanager,R.drawable.netmanager,R.drawable.trojan,R.drawable.sysoptimize,R.drawable.atools,R.drawable.settings};  private Context context;  LayoutInflater infalter;  public MainGridViewAdapter(Context context) {    this.context = context;    //方法1 通過系統的service 獲取到 試圖填充器    //infalter = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);    //方法2 通過layoutinflater的靜態方法獲取到 視圖填充器    infalter = LayoutInflater.from(context);  }  // 返回gridview里面有多少個條目  public int getCount() {    return names.length;  }  //返回某個position對應的條目  public Object getItem(int position) {    return position;  }  //返回某個position對應的id  public long getItemId(int position) {    return position;  }  //返回某個位置對應的視圖  public View getView(int position, View convertView, ViewGroup parent) {    Log.i(TAG,"GETVIEW "+ position);    //把一個布局文件轉換成視圖    View view = infalter.inflate(R.layout.mainactivity_item, null);    ImageView iv = (ImageView) view.findViewById(R.id.main_gv_iv);    TextView tv = (TextView) view.findViewById(R.id.main_gv_tv);    //設置每一個item的名字和圖標    iv.setImageResource(icons[position]);    tv.setText(names[position]);    return view;  }}

希望本文所述對大家Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赤水市| 寻甸| 乳山市| 绥阳县| 承德市| 河南省| 敦煌市| 新绛县| 米易县| 西吉县| 麻城市| 红安县| 石家庄市| 兴国县| 石楼县| 吉林市| 阜平县| 阿勒泰市| 天柱县| 嘉荫县| 柳州市| 通化县| 济阳县| 洛隆县| 乌兰察布市| 绥阳县| 北宁市| 玛沁县| 武清区| 太仆寺旗| 博白县| 福贡县| 竹溪县| 桓台县| 昔阳县| 金塔县| 噶尔县| 洛扎县| 巴塘县| 巴塘县| 潢川县|