`
pandong8183
  • 浏览: 56199 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Android 纯代码化编码1_关于布局

阅读更多

近期,根据部门要求,对Android进行研究,由于商业级开发,讲究方便快速开发,并且有很高的可维护性和可扩展性,所以我想着需要将代码进行封装(例如:列表展示功能,仅仅给列定义和数据来源,其他都自动生成),但是安卓提供了界面编辑器,他的界面都是通过XML来描述的,虽然这种方式虽然挺好,但是却不好封装,所以我开始研究如何使用纯代码方式完成页面
注意:这里绝对不是说界面编辑器不好,我觉得通过研究纯代码化界面编程可以使得编码更加快速,更加好封装


对于我目前来说,主要使用三种布局LinearLayout,TableLayout,FrameLayout,下面是一些使用示例,供大家参考
注意:下面出现的this就是activity,实质上就是context


1.LinearLayout:最常用的布局,内容按序摆放

// 定义总布局,流式布局
LinearLayout managerLinearLayout = new LinearLayout(this);
// 设置布局的一些属性
LinearLayout.LayoutParams managerLinearLayoutParams = new LinearLayout.LayoutParams(
		LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
// 设置居中
managerLinearLayoutParams.gravity = Gravity.CENTER;
// 设置和外部的距离
managerLinearLayoutParams.setMargins(10, 10, 10, 10);
managerLinearLayout.setLayoutParams(managerLinearLayoutParams);
// 设置布局样式为纵列
managerLinearLayout.setOrientation(LinearLayout.VERTICAL);
// 设置内容填充
managerLinearLayout.setPadding(0, 10, 0, 0);
// 设置背景图片,图片放置在assets中
managerLinearLayout.setBackgroundDrawable(Drawable.createFromStream(getAssets().open("images/background/background_red.jpg"), ""));

 

2.FrameLayout:用于存在内容重叠的情况

// 定义用户头像布局,这里存在一张背景,一张用户头像图片叠放在一起
FrameLayout userHeadLayout = new FrameLayout(this);
userHeadLayout.setPadding(30, 40, 10, 0);
// 定义用户头像背景图片
ImageView userHeadBgImage = new KmfImageView(this, "images/user_head_bg.png");
KmfImageView userHeadDefaultImage = new KmfImageView(this, "images/user_head_default.png");
userHeadDefaultImage.setDefaultSize();
userHeadDefaultImage.setPadding(5, 5, 0, 0);
userHeadLayout.addView(userHeadBgImage);
userHeadLayout.addView(userHeadDefaultImage);

 

3.TableLayout:用于表格存放控件的情况

TableLayout tableLayout = new TableLayout(this);
//创建行
TableRow row1 = new TableRow(this);
TextView view1 = new TextView(this);
view1.setText("测试文本1:");
row1.addView(view1);
TableRow row2 = new TableRow(this);
TextView view2 = new TextView(this);
view1.setText("测试文本2:");
row2.addView(view2);
tableLayout.addView(row1);
tableLayout.addView(row2);

 

关于布局嵌套
由于这些界面都继承自View,所以可以直接使用他们的addView方法进行嵌套,例如上面代码中的三个布局,可以做以下的操作

 

managerLinearLayout.addView(userHeadLayout);
//将布局直接添加到TableLayout中,而不是新建TableRow添加
tableLayout.addView(managerLinearLayout);

 

关于布局暂时就写到这里吧,至于另外几种布局,我暂时还没怎么研究,等以后研究更深了,再补上来

0
3
分享到:
评论

相关推荐

    Android Camera添加水印(编码)

    Android Camera添加水印,编码的时候增加水印,任何APP拍照或录像有水印

    Android高级编程--源代码

    该资料是《Android高级编程》的源代码 对应的书籍资料见: Android高级编程 基本信息 原书名: Professional Android Application Development 原出版社: Wrox 作者: (英)Reto Meier 译者: 王鹏杰 霍建同 出版社...

    Android代码-NavigationBar

    NavigationBar ...我的视频课程(编码直播推流):《Android视频编码和直播推流》 标题导航栏,两三句代码即可实现 博客地址:http://blog.csdn.net/ywl5320/article/details/51866799 XML布局: 实例图片: ...

    Android开发编码规范

    该文档是《阿里巴巴...该文档面向Android开发所有成员,旨在规范化代码风格和编程习惯,并提出了针对软件调优的建议。其中包括Android资源文件命名与使用、Android基本组件、UI与布局、进程、线程与消息等方面的内容

    Android代码-PayPwdEditText

    我的视频课程(编码直播推流):《Android视频编码和直播推流》 支付密码框,和微信支付宝类似 博客地址:http://blog.csdn.net/ywl5320/article/details/52003691 一、效果图: 二、设置代码 xml布局: java代码:...

    精通ANDROID 3(中文版)1/2

    第1章 Android计算平台简介  1.1 面向新PC的全新平台  1.2 Android的历史  1.3 Dalvik VM剖析  1.4 理解Android软件栈  1.5 使用Android SDK开发最终用户应用程序  1.5.1 Android模拟器  1.5.2 ...

    传智播客的android开发源代码

    04_开发与运行(卸载)第一个ANDROID应用.avi 所在项目:Hello 06_电话拔号器.avi 所在项目:phone 08_短信发送器.avi 所在项目:sms 09_深入了解各种布局技术.avi 所在项目:sms & FrameLayout 10_对应用进行单元...

    android游戏java源码-Tic_Tac_Toe:TicTacToeAndroid游戏与源代码。井字游戏无与伦比的游戏。这个井字游戏是使

    android游戏java源码Tic_Tac_Toe 井字游戏无与伦比的游戏。 这款井字游戏是使用Android Studio开发的,Android Studio是Google Android操作系统的官方集成开发环境,专为Android开发而设计。 游戏本身允许两个人...

    TextView的简单编码实现

    其实在Android中,使用控件除了在layout下的布局文件中实现之外,我们还可以通过在java文件中完全通过编码来实现,只不过完全使用编码的方式来驾驭我们的控件是不可取的,因为这增加了代码量,对外阅读不是太友好,...

    新版Android开发教程.rar

    Android SDK tools included in Android 1.1 SDK, Release 1. Supported Supported Supported Supported Operating Operating Operating Operating Systems Systems Systems Systems • Windows XP (32-bit) or ...

    Android代码-MultiItem

    RecyclerView是一个大家常用的列表控件,在列表中不免会出现多种类型的布局,这时adapter中多种类型的判断就会充满着switch的坏味道,可怕的是需求变更,增加或修改新的类型时,所有的改动都在adapter中进行,没有一...

    Android应用源码基于安卓的公益服务志愿者平台.zip

    初步推断是学生作品,包括安卓客户端源码spring_hibernate服务端源码和mysql数据库,有简单的信息浏览和信息搜索和用户资料布局,不过很多地方不完善,客户端使用android开发,UI一般,服务端主要用了Spring ...

    Android开发教程_什么UI界面都有_棒.zip

    Android UI界面开发教程_什么安卓APP界面都有_棒 amr语音编码解码 Fragment View WebView 触摸 手势操作 抽象布局 屏幕解锁 照相机,相册 菜单 代码安全 通信安全 屏幕自适应分辨率 Action Bar HTML的javascript调用...

    Android仿QQ微信登录界面效果.rar

    一个界面设计方面的例子,Android仿QQ微信登录界面效果,主要是基于对布局main.xml上控件的操作,模拟出了微信整体的登录界面样式和风格,包括了登录时的弹框和提示,以及文字变颜色等功能,是学习android手机界面...

    Android项目源码动物连连看.zip

    Android项目源码动物连连看是一款android连连看游戏,应该说这个游戏太强大了,能触屏连连看,过关。用到技术很多,有小算法,相同的icon就会消掉项目中代码层次分明,大部分方法都加了详细的注释。(项目采用GBK...

    Adriod学习笔记1

    如果你的Android程序需要自适应国际化,比如说多国语言等问题,那么就可以定义不同语言的UI布局,在程序装载时调用不同的布局。而且,如果我们需要修改UI的一些问题,就不必查看代码了,直接更改这些布局文件即可很...

    Android应用程序开发教程PDF电子书完整版、Android开发学习教程

    • 资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。 • 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。 4 • ...

    Android开发实验---通讯录.docx

    输入联系人的基本信息,并可根据用户需求增加个性化信息如头像、姓名、手机号码、办室电话、家庭电话、职务职称、单位名称、地址、邮政编码、Email、其他联系方式、备注这些信息,击确认返回主界面。点击通信录中一...

    精通Android 3 (中文版)2/2

    第1章 Android计算平台简介  1.1 面向新PC的全新平台  1.2 Android的历史  1.3 Dalvik VM剖析  1.4 理解Android软件栈  1.5 使用Android SDK开发最终用户应用程序  1.5.1 Android模拟器  1.5.2 ...

    android选项卡的自定义实现

    ScrollView + ViewPager + ActivityGroup实现android选项卡布局,代码比较简单,我写了注释,编码方式GBK

Global site tag (gtag.js) - Google Analytics