public class MyDialog extends Dialog {
private final View[] keys = new View[9];
private final int[] used;
public MyDialog(Context context, int[] used) {
super(context);
this.used = used;
}
// Dialog第一次显示时调用onCreate方法;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 设置Dialog的标题和布局文件;
setTitle("KeyDialog");
setContentView(R.layout.dialog);
// 调用这个方法取得封装的Button控件;
findViews();
//遍历整个used数组,得到不可用的数据;
for (int i = 0; i < used.length; i++) {
if (used[i] != 0) {
//根据used得到的数据,把可以用的数据赋值给Button控件,
//设置keys数组里的按钮是否可见,INVISIBLE参数为不可见;
keys[used[i]-1].setVisibility(View.INVISIBLE);
}
}
}
private void findViews() {
keys[0] = findViewById(R.id.NO1);
keys[1] = findViewById(R.id.NO2);
keys[2] = findViewById(R.id.NO3);
keys[3] = findViewById(R.id.NO4);
keys[4] = findViewById(R.id.NO5);
keys[5] = findViewById(R.id.NO6);
keys[6] = findViewById(R.id.NO7);
keys[7] = findViewById(R.id.NO8);
keys[8] = findViewById(R.id.NO9);
}
}
注意:TableLayout 下的android:stretchColumns属性:设置可伸展的列。该列可以向行方向伸展,最多可占据一整行。控制Dialog的宽度。