Android 使用纯Java代码布局
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选项,图标没有发生改变. 这些资源图片也没有尽 ...
随机推荐
- CentOS 7 网卡命名修改为ethx格式
Linux 操作系统的网卡设备的传统命名方式是 eth0.eth1.eth2等,而 CentOS7 提供了不同的命名规则,默认是基于固件.拓扑.位置信息来分配.这样做的优点是命名全自动的.可预知的,缺 ...
- java批量爬去电影资源
摘要 网上有很多个人站来分享电影资源,其实有时候我们自己也想做这个一个电影站来分享资源.但是这个时候就有一个问题,电影的资源应该从哪里来呢?难道要自己一条条手动去从网络上获取,这样无疑是缓慢而又效率低 ...
- android jni 总复习(转载)
本文全文转载自:http://www.cnblogs.com/shuqingstudy/p/4909089.html,非常感谢 package com.test.androidjni; import ...
- (转)java二维数组的深度学习(静态与动态)
转自:http://developer.51cto.com/art/200906/128274.htm,谢谢 初始化: 1.动态初始化:数组定义与为数组分配空间和赋值的操作分开进行:2.静态初始化:在 ...
- [Kafka] - Kafka内核理解:Message
一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成 header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成 ...
- 基于微博数据用 Python 打造一颗“心”
一年一度的虐狗节刚过去不久,朋友圈各种晒,晒自拍,晒娃,晒美食,秀恩爱的.程序员在晒什么,程序员在加班.但是礼物还是少不了的,送什么好?作为程序员,我准备了一份特别的礼物,用以往发的微博数据打造一颗“ ...
- mysqldump 使用说明
mysqldump 使用说明 A Database Backup Program mysqldump客户端是一款实用的mysql备份程序,可以对数据库的定义及数据表内容,进行备份生成相应的SQL语句. ...
- SaberRD之瞬态分析
瞬态分析(Transient Analysis)也叫做暂态分析,一般用于分析含有储能器件的电路在换路后发生的过渡状态,比如分析RLC电路在接通.断开.改接以及参数发生改变和电源突变时,电路的电压电流从 ...
- 使用StyleCop.Analyzers进行代码审查
为什么要进行代码审核? 提早发现代码中的BUG,避免将BUG带到生产环境 极大的提高软件质量,以及可维护性 统一代码规范.提高可读性,减少新加入成员的熟悉时间 加速个人和团队的成长,知识和经验的积累 ...
- Struts2初步接触
使用idea快速搭建Struts2的Maven项目 首先使用intelij idea部署Maven项目 1.jar包引入 pom.xml 我们用的是阿里云 我用的是最新版的Struts2核心 ...