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

首頁 > 系統 > Android > 正文

安卓(Android)動態創建多個按鈕并添加監聽事件

2019-12-12 06:05:41
字體:
來源:轉載
供稿:網友

1.獲取屏幕大小,以合理設定 按鈕 大小及位置

 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int width = dm.widthPixels; int height = dm.heightPixels;

2.自定義layout組件

 RelativeLayout layout = new RelativeLayout(this); 

3.這里創建16個按鈕,每行放置4個按鈕

 Button Btn[] = new Button[16]; int j = -1; for (int i=0; i<=15; i++) {    Btn[i]=new Button(this);  Btn[i].setId(2000+i);  Btn[i].setText("按鈕"+i);   RelativeLayout.LayoutParams btParams = new RelativeLayout.LayoutParams ((width-50)/4,40);

4.設置按鈕的寬度和高度

 if (i%4 == 0) {   j++;  }  btParams.leftMargin = 10+ ((width-50)/4+10)*(i%4); //橫坐標定位    btParams.topMargin = 20 + 55*j; //縱坐標定位    layout.addView(Btn[i],btParams); //將按鈕放入layout組件 }  this.setContentView(layout);

5.批量設置監聽

for (int k = 0; k <= Btn.length-1; k++) { //這里不需要findId,因為創建的時候已經確定哪個按鈕對應哪個Id Btn[k].setTag(k);    //為按鈕設置一個標記,來確認是按下了哪一個按鈕 Btn[k].setOnClickListener(new Button.OnClickListener() { @Override  public void onClick(View v) {   int i = (Integer) v.getTag();   Intent intent = new Intent();   intent.setClass(Work_01.this, Work_02.class);   Bundle bundle = new Bundle();   bundle.putInt("count", i);   intent.putExtras(bundle);   startActivity(intent);   Work_01.this.finish();       }  }); }

 然后,可以在Work_02里將“按下的按鈕為:” i 打印出來,以確認設置的監聽是否正確。

比如,按下 按鈕0 ,在Work_02對應的頁面里,應該打印出 “按下的按鈕為:0 ”。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 儋州市| 沙坪坝区| 岱山县| 南川市| 独山县| 柳江县| 呼伦贝尔市| 嘉禾县| 靖江市| 宜川县| 砀山县| 绩溪县| 延吉市| 巴林右旗| 三都| 韶山市| 中宁县| 锡林浩特市| 和平县| 鸡西市| 汉川市| 宁乡县| 威信县| 泾川县| 苍溪县| 翼城县| 拉萨市| 金溪县| 横山县| 桂林市| 雷州市| 皋兰县| 忻城县| 霍城县| 化隆| 云南省| 新泰市| 黄龙县| 朝阳县| 黔江区| 安塞县|