布局实例

来源:互联网 发布:红盟网络优惠券网站 编辑:程序博客网 时间:2024/05/17 04:53

package com.control;

import android.app.Activity;
import android.graphics.Color;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
/**
 * calculator
 * @author Andy.chen
 *
 */
public class MyCalculator {

 private FrameLayout frameLayout;
 private static String strArray_top[]=new String[]{" ","Backspace","CE","C"};
 private static String strArray[][]=new String[][]{
  {"MC","7","8","9","/","sqrt"},
  {"MR","4","5","6","*","%"},
  {"MS","1","2","3","-","1/x"},
  {"M+","0","+/-",".","+","="}
 };
 public MyCalculator(Activity mContext){
  frameLayout=new FrameLayout(mContext);
  FrameLayout.LayoutParams flParams=new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
  flParams.gravity=Gravity.BOTTOM|Gravity.CENTER;
  
  frameLayout.setLayoutParams(flParams);
  
  
  LinearLayout keyboard=new LinearLayout(mContext);
  LinearLayout.LayoutParams lkParams=new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
  
  keyboard.setLayoutParams(lkParams);
  keyboard.setGravity(Gravity.CENTER);
  keyboard.setBackgroundResource(R.drawable.skb_back);
  keyboard.setOrientation(LinearLayout.VERTICAL);
  frameLayout.addView(keyboard);
  
  
  /* text view line start*/
  LinearLayout txLine=new LinearLayout(mContext);
  LinearLayout.LayoutParams txParams=new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
  txParams.setMargins(10, 10, 10, 0);
  txLine.setLayoutParams(txParams);
  
  //textView params
  LinearLayout.LayoutParams textParams=new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,80);
  textParams.setMargins(20, 0, 20, 0);

  TextView tvEdit=new TextView(mContext);
  tvEdit.setBackgroundColor(Color.BLACK);
  tvEdit.setText("0");
  tvEdit.setGravity(Gravity.BOTTOM|Gravity.RIGHT);
  tvEdit.setLayoutParams(textParams);
  txLine.addView(tvEdit);
  keyboard.addView(txLine);
  /* text view line end*/
  
  
  /* line Backspace CE C key start */
  LinearLayout ltLine=new LinearLayout(mContext);
  LinearLayout.LayoutParams ltParams=new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
  ltParams.setMargins(10, 10, 10, 0);
  ltLine.setLayoutParams(ltParams);
  for(int k=0;k<strArray_top.length;k++){
   LinearLayout.LayoutParams ktParams=null;
   
   if(k == 0){
    ktParams=new LinearLayout.LayoutParams(50,60);
   }else if(k == 1){
    ktParams=new LinearLayout.LayoutParams(130,60);
   }else{
    ktParams=new LinearLayout.LayoutParams(70,60);
   }
   
   ktParams.setMargins(5, 0, 5, 0);
   TextView tvTKey=new TextView(mContext);
   tvTKey.setText(strArray_top[k]);
   tvTKey.setTextColor(Color.RED);
   tvTKey.setBackgroundResource(R.drawable.skey_normal_back);
   tvTKey.setGravity(Gravity.CENTER);
   tvTKey.setLayoutParams(ktParams);
   ltLine.addView(tvTKey);
  }
  keyboard.addView(ltLine);
  /* line Backspace CE C key end */
  
  
  /* other key line start */
  for(int i=0;i<strArray.length;i++){
   LinearLayout lLine=new LinearLayout(mContext);
   //layoutParams 参数
   LinearLayout.LayoutParams lParams=new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT);
   lParams.setMargins(10, 10, 10, 10);//当前linearLayout 四边周围与外隔尺寸
   lLine.setLayoutParams(lParams);
  
   for(int j=0;j<strArray[i].length;j++){
    LinearLayout.LayoutParams kParams=new LinearLayout.LayoutParams(50,80);//单独键参数
    kParams.setMargins(5, 0, 5, 0);
    TextView tvKey=new TextView(mContext);
    tvKey.setText(strArray[i][j]);
    tvKey.setBackgroundResource(R.drawable.skey_normal_back);
    tvKey.setGravity(Gravity.CENTER);
    tvKey.setLayoutParams(kParams);
    lLine.addView(tvKey);
    
   }
   keyboard.addView(lLine);
  }
  /*other key line end */

  
  
 }
 public View getView(){
  return frameLayout;
 }
}

原创粉丝点击