表格佈局說明

Download Report

Transcript 表格佈局說明

九宮格程式範例
•建立九宮格排列方式
•運用表格佈局(Table Layout)
1. 當畫面上的一群view排成一個矩
陣或表格形式時,就能採用
TableLayout來敘述其佈局方式。
2. 例如,有如下的表格資料:而且
想將之顯示於畫面上,就可以安
排一群view,整齊排列如下:
程式範例說明
 建立表格佈局
TableLayout layout =
new TableLayout (this);
 建立按鈕陣列
 //建立一個3x3的按鈕陣列
for (int f=0; f<=2; f++) {
TableRow tr = new TableRow(this);
 設定目前的View為表格佈局
for (int c=0; c<=2; c++) {
setContentView(layout);
NButton b = new NButton (this);
b.setText(""+f+c);
b.setTextSize(10.0f);
b.setTextColor(Color.RED);
b.setOnClickListener(this);
tr.addView(b, 105,105);
} // for (int f=0; f<=2; f++)
layout.addView(tr);
} // for for (int c=0; c<=2; c++)
按鈕事件處理
 指定點選事件處理
 如果沒有個別指定事件處
理函數,則通通送往主程式
的onClick()事件處理
 public class dic_tut3
extends Activity
implements
View.OnClickListener
 主程式的事件處理
 要先分辨是由那一個事件送來
的
public void onClick(View view)
{
//強制轉型為Button
Button btn = (Button) view;
String text = “*“;
btn.setText(text);
}
增加按鈕的活用度
 問題:
 程式只能被動反應資訊,
 按鈕本身無法確切得知自
己的位置,
 也無法與其他按鈕互動
 解決方法:
建立一個新的按鈕
 繼承原有按鈕的功能
 增加新的特性
import android.content.Context;
class Nbutton extends Button
{
//建立新特性
int i,j; //座標
int counter; //按下次數
//繼承原有Button的功能
public Nbutton(Context context)
{ super(context); }
}
 新的事件處理函式
public void onClick
(View view)
{
NButton btn
= (NButton) view;
//強制轉型為Button
btn.counter++; //次數+1
//顯示按下的資訊
String text = ""+btn.counter;
btn.setText(text);
}