たぼさんの部屋

いちょぼとのんびり

L***) コーディングによるレイアウト例

実行

f:id:donsuka_kk:20121115160244p:plain

MainActivity.java

package com.example.baselayout;

import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Menu;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView;

public class MainActivity extends Activity {
	Context context;
	LinearLayout baseLayout;
	//LayoutParamsの定数
	final int FP = ViewGroup.LayoutParams.FILL_PARENT;
	final int WC = ViewGroup.LayoutParams.WRAP_CONTENT;
	private final int[] subHeights = {40,40,160,160,40,40,130,FP};
	private final String[] fieldNameText = {"名前です","ベース","レシピ","作り方","混ぜ方","分類","特徴","色","逸話"};
    @Override
    public void onCreate(Bundle savedInstanceState) {
    	context = getApplicationContext();
        super.onCreate(savedInstanceState);
        //アプリ名を非表示に設定する
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        //ベースレイアウトを作成
        baseLayout = new LinearLayout(context);
        setContentView(baseLayout);
        baseLayout.setOrientation(LinearLayout.VERTICAL);
        baseLayout.setBackgroundColor(Color.rgb(175, 225, 255));
        //サブレイアウトを作成してbaseLayout内に配置
        
        LinearLayout subLayout[] = new LinearLayout[subHeights.length];
        TextView[] fieldTitle = new TextView[9];
        for (int i=0;i<subLayout.length;i++){
        	subLayout[i] = new LinearLayout(context);
        	baseLayout.addView(subLayout[i],new LinearLayout.LayoutParams(FP,subHeights[i]));
        	if(i>0){
        		LayoutParams layoutParams = (LinearLayout.LayoutParams)subLayout[i].getLayoutParams();
        		layoutParams.setMargins(0, 10, 0, 0);
        	}
        	subLayout[i].setOrientation(LinearLayout.HORIZONTAL);
        	subLayout[i].setGravity(Gravity.CENTER);
        	subLayout[i].setPadding(0, 5, 0, 5);
        	subLayout[i].setBackgroundColor(Color.rgb(0, 255, 0));
        	
        	//テキストびゅーを生成
        	fieldTitle[i] = new TextView(context);
        	fieldTitle[i].setGravity(Gravity.RIGHT);
        	fieldTitle[i].setBackgroundColor(Color.rgb(0, 255, 255));
        	fieldTitle[i].setTextColor(Color.rgb(0, 0, 0));
        	fieldTitle[i].setTextSize(14);
        	fieldTitle[i].setText(fieldNameText[i]);
        	subLayout[i].addView(fieldTitle[i]);
        }
        
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}