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纯代码的实现,更多的使用还是需要大家去慢慢研究
效果:
Android 使用纯Java代码布局的更多相关文章
-
在Android中用纯Java代码布局
感谢大佬:https://www.jianshu.com/p/7aedea560f16 在Android中用纯Java代码布局 本文的完成了参考了一篇国外的教程,在此表示感谢. Android中的界面 ...
-
基于纯Java代码的Spring容器和Web容器零配置的思考和实现(3) - 使用配置
经过<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(1) - 数据源与事务管理>和<基于纯Java代码的Spring容器和Web容器零配置的思考和实现(2) - ...
-
android中在java代码中设置Button按钮的背景颜色
android中在java代码中设置Button按钮的背景颜色 1.设置背景图片,图片来源于drawable: flightInfoPanel.setBackgroundDrawable(getRes ...
-
DataX通过纯Java代码启动
DataX是阿里巴巴团队开发的一个很好开源项目,但是他们对如何使用只提供了python命令启动方式,这种方式对于只是想简单的用下DataX的人来说很是友好,仅仅需要几行代码就可以运行,但是如果你需要在 ...
-
帧动画的创建方式 - 纯Java代码方式
废话不多说,先看东西 帧动画的创建方式主要以下2种: * 用xml创建动画: * 纯Java代码创建动画: 本文内容主要关注 纯java代码创建帧动画 的方式: 用xml创建帧动画:http:// ...
-
Android Studio编写运行测试纯java代码可带main()函数
问题 小伙伴们在做安卓项目的时候,是不是有时候会忘记某些api的使用方法,不太确定他们的结果是怎样的,需要写一些测试代码,验证看看我们的写法是否正确.刚开始的时候我是在页面上写一个Button,添加点 ...
-
转--Android如何在java代码中设置margin
======== 3 在Java代码里设置button的margin(外边距)? 1.获取按钮的LayoutParams LinearLayout.LayoutParams layoutParams ...
-
Android如何在java代码中设置margin
习惯了直接在xml里设置margin(距离上下左右都是10dip),如: <ImageView android:layout_margin="10dip" android:s ...
-
【Android】通过Java代码替换TabHost中的drawableTop资源
在博客 http://blog.csdn.net/jueblog/article/details/11837445 中的Tab选项卡中, 点击相应的Tab选项,图标没有发生改变. 这些资源图片也没有尽 ...
随机推荐
-
开发便于运维的Windows服务
过去几个月,DevOps on Windows网站推出了一系列文章,详细讲解了开发者应怎样创建便于运维的Windows服务.这一系列文章详细分析了如何克服在运维部门看来最困难的部分:Windows服务 ...
-
用NPOI从DataBase到Excel
NPOI的C# Helper代码 public static void WriteExcel(DataTable dt, string filePath) { ) { HSSFWorkbook wk ...
-
Zookeeper-Zookeeper的配置
前面两篇文章介绍了Zookeeper是什么和可以干什么,那么接下来我们就实际的接触一下Zookeeper这个东西,看看具体如何使用,有个大体的感受,后面再描述某些地方的时候也能在大脑中有具体的印象.本 ...
-
poj 2503:Babelfish(字典树,经典题,字典翻译)
Babelfish Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 30816 Accepted: 13283 Descr ...
-
UI中 frame 与 transform的用法与总结
在iOS中,我们是不可以直接访问控件中frame的结构体的成员的,因此我们需要分三步来改变一个UI控件的位置,大小 一.frame用法 frame的结构体类型为: struct CGRect { CG ...
-
Yii 中比较常用的rules验证规则记录
查看代码 打印 01 return array( 02 03 //必须填写 04 array('email, username, password,agree,verifyPa ...
-
Java扩展方法之SPI
API:API(Application Programming Interface)表示应用程序编程接口 SPI:SPI(Service Provider Interface)表示服务提供商接口 A ...
-
HTML+CSS之background
第一个专题--background属性 今天写一下background属性,具体如下: 1.background-color:默认值:transparent,这是我们在做网页时,经常使用的属性,较为简 ...
-
Android 6.0以上 需要运行时申请的权限
转载:http://www.cnblogs.com/tangs/articles/6377347.html 自从Android6.0发布以来,在权限上做出了很大的变动,不再是之前的只要在manifes ...
-
怎么使用Less/Sass编译工具koala
怎么使用Less/Sass编译工具koala 如何使用Less/Sass编译工具koala 一.SASS调试插件的方法 如需调试功能,请在编译输出的时候输出debug信息,那样解析的css文件中就会包 ...