android使用代码写布局文件
来源:互联网 发布:java base64转码 编辑:程序博客网 时间:2024/06/05 18:34
项目中经常会遇到需要在代码中编写布局的情况,下面简单说下如何在代码中写布局
先看下效果:
看下代码如何实现吧:
import android.app.Activity;import android.os.Bundle;import android.view.ViewGroup;import android.widget.Button;import android.widget.RelativeLayout;import android.widget.RelativeLayout.LayoutParams;public class DemoActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);// 根布局View,下边所有View都在此RelativeLayout中RelativeLayout rootLayout = new RelativeLayout(this);RelativeLayout.LayoutParams rootLayoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);rootLayout.setLayoutParams(rootLayoutParams);// 设置在根布局的左上角RelativeLayout.LayoutParams LTLayoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);LTLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);LTLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);Button btnLT = new Button(this);btnLT.setText("左----------上");btnLT.setId(1);// 设置在btnLT的下边并且右对齐RelativeLayout.LayoutParams LTLDLayoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);LTLDLayoutParams.addRule(RelativeLayout.BELOW, btnLT.getId());LTLDLayoutParams.addRule(RelativeLayout.ALIGN_RIGHT, btnLT.getId());//设置和btnLT右对齐Button btnDRD = new Button(this);btnDRD.setText("底部右对齐");// 设置在根布局的左下角RelativeLayout.LayoutParams LDLayoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);LDLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);LDLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT);Button btnLD = new Button(this);btnLD.setText("左----------下");// 设置在根布局的右上角RelativeLayout.LayoutParams RTLayoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);RTLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);RTLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);Button btnRT = new Button(this);btnRT.setText("右----------上");;// 设置在根布局的右下角RelativeLayout.LayoutParams RDLayoutParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);RDLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);RDLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);Button btnRD = new Button(this);btnRD.setText("右----------下");rootLayout.addView(btnLT, LTLayoutParams);rootLayout.addView(btnLD, LDLayoutParams);rootLayout.addView(btnRT, RTLayoutParams);rootLayout.addView(btnRD, RDLayoutParams);rootLayout.addView(btnDRD, LTLDLayoutParams);setContentView(rootLayout);}}
附带使用View.setId的正确姿势
在res/values/下添加ids.xml(名字可随意)文件,代码如下:
<?
xml
version="1.0" encoding="utf-8"?>
<
resources
>
<
item
name="my_view" type="id" />
</
resources
>
然后在代码中做如下设置即可:
my_view.setId(R.id.my_view);
下面就将verb相关常量名列如下:
relLayoutParams.alignWithParent=true
RelativeLayout.CENTER_HORIZONTAL
RelativeLayout.CENTER_VERTICAL
RelativeLayout.CENTER_IN_PARENT
RelativeLayout.ALIGN_PARENT_BOTTOM
RelativeLayout.ALIGN_PARENT_TOP
RelativeLayout.ALIGN_PARENT_LEFT紧贴父控件的左边边缘
RelativeLayout.ALIGN_PARENT_RIGHT
RelativeLayout.ABOVE
RelativeLayout.BELOW
RelativeLayout.LEFT_OF
RelativeLayout.RIGHT_OF
RelativeLayout.ALIGN_TOP
RelativeLayout.ALIGN_BOTTOM
RelativeLayout.ALIGN_LEFT
RelativeLayout.ALIGN_RIGHT
RelativeLayout.ALIGN_BASELINE
- android使用代码写布局文件
- Android使用代码来写布局实例
- Android 代码写布局
- Android之代码写布局
- Android纯代码写布局
- java代码写Android简单布局
- android代码里面写布局简单示例
- android使用代码编写布局
- Android中不使用布局文件,java代码动态创建布局及控件
- android 不使用布局文件,完全由代码控制布局实例
- 用代码写布局
- 用代码写布局
- Android Studio 布局文件格式化代码
- Android开发代码中获取布局文件
- android用代码获取布局文件
- android 纯代码 详细编写布局文件
- iOS8之后,如何使用autolayout,sizeclass配合代码写布局
- Android 布局文件中使用其他布局文件的方法
- WiNAT集群防火墙
- windows下solrcloud+tomcat+zookeeper伪集群环境搭建
- java基础学习总结——抽象类
- Android Studio 使用教程1
- 143. Reorder List
- android使用代码写布局文件
- Buffer中clear(),flip()和rewind()的理解
- java基础学习总结——接口
- 软件设计模式——迭代器模式(Iterator Pattern)
- Android Studio 使用教程2
- Firebug使用详解
- 操作系统第一次上机实验 进程控制(终极版)
- Hadoop学习笔记(1)----项目简述
- Java加密技术(八)——数字证书