java布局

java代码布局和xml布局的区别

1.Java纯布局更加的灵活,比如自定义控件或一些特殊要求时,使用java代码布局

2.常用的xml布局是所见即所得的编写方式,以及xml本身拥有一些优点。

代码已经贴上,注释写的很详细,仔细阅读

package com.xh.onejava;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
import android.view.Menu;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams;
import android.widget.TextView;

public class MainActivity extends Activity {

private Button btn1;
private TextView txt1;
private RelativeLayout re;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//初始化
init();

}

private void init(){

//实例控件
btn1 = new Button(getApplicationContext());
//设置btn1显示内容
btn1.setText("button");
//实例布局
re = new RelativeLayout(getApplicationContext());
//设置布局的背景颜色
re.setBackgroundColor(Color.BLUE);
//设置一个属性,在java布局中和xml不同的是,xml的属性是设置在控件中,而Java是事先设置,然后再把它添加到控件中去
//这几行代码的对应
//android:layout_width="wrap_content"
//android:layout_height="wrap_content"
RelativeLayout.LayoutParams layte = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
);
//这行代码对应xml中的android:layout_centerHorizontal="true"
layte.addRule(RelativeLayout.CENTER_HORIZONTAL);
/*
* 重要!button实例化好了,它的布局规则设置好了
* 这时把button和它的规则放入父布局中
*/
re.addView(btn1, layte);
/*
* 重要,取消MainActivity中设置的布局文件
* (删除:setContentView(R.layout.activity_main);)
* 添加如下代码,不再显示activity_main,而是用纯java代码编写的re
*/
setContentView(re);
}



}

简单的button纯代码的实现,更多的使用还是需要大家去慢慢研究

效果:

最新文章

  1. Downgrade PHP 7 to PHP 5.6 on Ubuntu 16.04
  2. Photo Kit 框架
  3. SQL多条件查询
  4. HDU 4407 Sum 容斥原理
  5. IOS UIVIEW layer动画 总结(转)
  6. UVA11538Chess Queen(组合数学推公式)
  7. 反思java web的发展
  8. PHP查询MYSQL表的主键
  9. Android Property Animation 物业动画
  10. Firefox插件推荐
  11. sed修炼系列(三):sed高级应用之实现窗口滑动技术
  12. JavaWeb框架_Struts2_(六)----->Struts2的输入校验
  13. Python 爬取淘宝商品信息和相应价格
  14. 距离度量以及python实现(一)
  15. ubuntu16.04安装pycharm
  16. Linux下安装、启动、停止mongodb
  17. 【ZJOI2007】粒子运动
  18. 原生js实现二级联动下拉列表菜单
  19. centos所有版本下载源
  20. swift - UIWebView 和 WKWebView(iOS12 之后替换UIWebView)

热门文章

  1. uml视频系列(二)——uml的概述
  2. Ajax 入门之 GET 与 POST 的不同 (2)
  3. 关于github中的README.md文件
  4. react-router 中的history(react中关于后退键的处理用的到)
  5. 将Error异常日志从普通日志中剥离
  6. 快速排序OC、Swift版源码
  7. 第八讲:I/O虚拟化
  8. Django的URL路由
  9. Javascript基础 - js中曾经忽略的知识点
  10. HA高可用集群