zoukankan      html  css  js  c++  java
  • 021_03布局之代码实现

       一般情况下对于Android程序布局我们往往使用XML文件来编写,这样可以提高开发效率。但是考虑到代码的安全性以及执行效率,可以通过Java代码执行创建。当然Java处理效率比XML快得多,但是对于一个复杂界面的编写,可能需要一些套嵌考虑,如果你思维灵活的话,使用Java代码来布局你的Android应用程序是一个更好的方法。

     1 package com.example.day21_03ProgrammingUI;
     2 
     3 import android.app.Activity;
     4 import android.os.Bundle;
     5 import android.view.View;
     6 import android.view.View.OnClickListener;
     7 import android.widget.Button;
     8 import android.widget.LinearLayout;
     9 import android.widget.LinearLayout.LayoutParams;
    10 import android.widget.Toast;
    11 
    12 public class MainActivity extends Activity  implements OnClickListener{
    13 
    14     @Override
    15     protected void onCreate(Bundle savedInstanceState) {
    16         super.onCreate(savedInstanceState);                 
    17         //代码生成的linearlayout 默认为水平布局
    18         //但是 按钮默认的是 fill parent 
    19         LinearLayout ll = new LinearLayout(this);        
    20         ll.setOrientation(LinearLayout.VERTICAL);
    21         
    22         Button b1 = new Button(this);
    23         b1.setText("按键1");    
    24         LayoutParams  params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);         
    25         b1.setLayoutParams(params);        
    26         ll.addView(b1);
    27     
    28         Button b2 = new Button(this);
    29         b2.setText("按键2");
    30         b2.setLayoutParams(params);
    31         ll.addView(b2);
    32         
    33         LinearLayout layout2 = new LinearLayout(this);
    34         Button b3 = new Button(this);
    35         b3.setText("按键3");
    36         b3.setLayoutParams(params);        
    37         layout2.addView(b3);
    38             
    39         Button b4= new Button(this);
    40         b4.setText("按键4");
    41         b4.setLayoutParams(params);
    42         layout2.addView(b4);
    43         
    44         ll.addView(layout2);
    45         
    46         setContentView(ll);
    47         
    48         b1.setId(1);
    49         b2.setId(2);
    50         b3.setId(3);
    51         b4.setId(4);
    52         
    53         b1.setOnClickListener(this);
    54         b2.setOnClickListener(this);
    55         b3.setOnClickListener(this);
    56         b4.setOnClickListener(this);        
    57     }
    58 
    59     @Override
    60     public void onClick(View v) {
    61         // TODO Auto-generated method stub
    62         
    63         switch (v.getId()) {
    64         case 1:
    65             Toast.makeText(this, "button1 clicked", 1).show();
    66             break;
    67         case 2:
    68             Toast.makeText(this, "button2 clicked", 1).show();
    69             break;
    70         case 3:
    71             Toast.makeText(this, "button3 clicked", 1).show();
    72             break;    
    73         case 4:
    74             Toast.makeText(this, "button4 clicked", 1).show();
    75             break;
    76         default:
    77             break;
    78         }    
    79     }
    80 }

    物随心转,境由心造,一切烦恼皆由心生。
  • 相关阅读:
    angular流程引擎集成
    angular打印功能实现方式
    文件hash、上传,实现文件上传重复验证
    HDU 6096 String(AC自动机+树状数组)
    HDU 5069 Harry And Biological Teacher(AC自动机+线段树)
    BZOJ 3172 单词(AC自动机)
    LightOJ 1268 Unlucky Strings(KMP+矩阵乘法+DP)
    Codeforces 808G Anthem of Berland(KMP+DP)
    LightOJ 1258 Making Huge Palindromes(KMP)
    UVA 11019 Matrix Matcher(哈希)
  • 原文地址:https://www.cnblogs.com/woodrow2015/p/4547734.html
Copyright © 2011-2022 走看看