たぼさんの部屋

いちょぼとのんびり

L006) TableLayout にButtonを配置 0-9までの番号ボタン

f:id:donsuka_kk:20121119164845p:plain

Main.java

package com.example.l006_tablelayout_number;

import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class Main extends Activity {
	Context context;
	RelativeLayout base;
	public TextView tv;
	public static final int 
		WC = ViewGroup.LayoutParams.WRAP_CONTENT,
		FP = ViewGroup.LayoutParams.FILL_PARENT;
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
	    super.onCreate(savedInstanceState);
	
	    context = getApplicationContext();
	    base = new RelativeLayout(context);
	    setContentView(base);
	    
	    TableLayout table = new TableLayout(context);
	    base.addView(table);
	    
	    RelativeLayout.LayoutParams lpBase = new RelativeLayout.LayoutParams(FP,WC);
	    table.setLayoutParams(lpBase);
	    table.setBackgroundColor(Color.GRAY);
	    
	    Button[] buttons = new Button[9];
	    final int iMaxRow = 3;
	    final int iMaxCol = 3;
	    int index = 0;
	    for(int iRow=0;iRow<iMaxRow;iRow++){
	    	TableRow row = new TableRow(context);
//	    	TableLayout.LayoutParams lpTable = new TableLayout.LayoutParams(FP , 0);
//	    	row.setGravity(Gravity.CENTER_VERTICAL);
	    	for(int iCol = 0;iCol<iMaxCol;iCol++){
	    		int value = (index+1) % 10;
	    		//Buttonインスタンス
	    		buttons[index] = new Button(context);
	    		buttons[index].setText(""+value);
	    		buttons[index].setId(value);
	    		//listener set
	    		buttons[index].setOnClickListener(l);
	    		row.addView(buttons[index]);
	    		//buttons layout
	    		TableRow.LayoutParams _params = new TableRow.LayoutParams(0 , WC);
	    		_params.weight = 0.33f;
	    		buttons[index].setLayoutParams(_params);
	    		buttons[index].setGravity(Gravity.CENTER);
	    		
	    		index++;
	    	}
	    	table.addView(row);
	    	
	    }
	    //[0]追加
	    TableRow row_4 = new TableRow(context);
	    Button btn_0 = new Button(context);
	    btn_0.setText("0");
	    btn_0.setId(0);
	    row_4.addView(btn_0);
	    table.addView(row_4);
	    TableRow.LayoutParams lpRow_4 = new TableRow.LayoutParams(0,WC);
	    lpRow_4.weight =1.0f;
	    btn_0.setLayoutParams(lpRow_4);
	    
	    //listener
	    btn_0.setOnClickListener(l);

	}

	OnClickListener l = new OnClickListener(){
		
		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			Log.v("OnClick",""+v.getId());
			
		}
		
	};
}