xml布局内容总结(四)--Android
(1)对于xml编写界面较复杂的情况下,使用include会使得编写和查看更清楚
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<include android:id="@+id/hi1" layout="@layout/health_info1" />
<include android:id="@+id/hi2" layout="@layout/health_info2" />
<include android:id="@+id/hi3" layout="@layout/health_info3" />
<include android:id="@+id/hi4" layout="@layout/health_info4" />
<include android:id="@+id/hi5" layout="@layout/health_info5" />
</LinearLayout>
这里health_info1到health_info5是5个布局文件,相应于界面中的5个模块,每一个模块单独200行左右,假设在单独的模块中,不论是改动还是查看都比較easy,假设不适用include,整个布局文件就是1000行左右。无论是改动还是查看都比較麻烦,类似于代码中函数的调用。
CheckBox hiCbPs1;
hiCbPs1=(CheckBox)findViewById(R.id.hi1).findViewById(R.id.hicbps1);
这是代码中的使用方法
(2)自己定义view的使用。在开发产品时,有时候会碰到一些须要自己进行绘制的view增加到界面中
加入到到xml中的使用方法
<com.jxj.view.BigDialView
android:id="@+id/healthstatedial"
android:layout_width="fill_parent"
android:layout_height="200dip"
android:layout_margin="5dip"
android:layout_gravity="center"
android:scaleType="centerInside"
/>
com.jxj.view 是包名 BigDialView是自己定义的类名 com.jxj.view.BigDialView是完整的路径
这里常常easy出错的问题就是xml中找不到该类,原因通常是未定义这个类,还是就是包名或类名写错导致xml找不到
(3)这个是在LoonAndroid框架中看到的。认为挺好用
基本全部的控件都会用到这两条语句
android:layout_width="fill_parent"
android:layout_height="wrap_content"
在LoonAndroid框架中看到了这样的使用方法比較简单,用一条语句替换了
<RelativeLayout
android:id="@+id/top_head"
style="@style/w_full_h_wrap"
android:background="@drawable/head_back"
android:orientation="horizontal" >
等同于
<RelativeLayout
android:id="@+id/top_head"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/head_back"
android:orientation="horizontal" >
想要使用这样的方法。仅仅需在values文件夹下加入
themes_basic.xml
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 全屏幕拉伸 -->
<style name="w_h_full">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">fill_parent</item>
</style>
<!-- 高度和屏幕高度一样 宽度自适应 -->
<style name="w_wrap_h_full">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">fill_parent</item>
</style>
<!-- 宽度和屏幕宽度一样 高度自适应 -->
<style name="w_full_h_wrap">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
</style>
<!-- 固定自身大小 -->
<style name="w_wrap_h_wrap">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
</style>
</resources>
xml布局内容总结(四)--Android的更多相关文章
- xml布局内容总结(一)--Android
关于安卓项目中xml的使用非常多.为了达到一些好的UI效果.须要对xml比較熟练.会使用非常多的小技巧,本人准备对这些小技巧进行整理和总结,希望进行分享和交流. 关于weight的使用,因为weigh ...
- xml布局内容总结(三)--Android
关于xml中经经常使用到边框及边框效果,在此进行一下总结. 3.border(边框及边框效果) (1)直角边框线 <LinearLayout android:layout_wid ...
- 通过在xml布局文件中设置android:onClick=""来实现组件单击事件
在布局中出现android:onClick=""语句: <Button android:id="@+id/call_button" android:onC ...
- android xml布局文件属性说明
android xml布局文件属性说明 [摘]android xml布局文件属性说明 LinearLayout和RelativeLayout 共有属性:java代码中通过btn1关联次控件androi ...
- 20165205 2017-2018-2 《Java程序设计》实验四 Android程序设计
20165205 2017-2018-2 <Java程序设计>实验四 Android程序设计 实验内容 实验四 Android程序设计-1 Android Stuidio的安装测试: 参考 ...
- 20155314 2016-2017-2 《Java程序设计》实验四 Android程序设计
20155314 2016-2017-2 <Java程序设计>实验四 Android程序设计 实验任务 基于Android Studio开发简单的Android应用并部署测试 了解Andr ...
- android 开发 使用自定义布局实现标题栏复用(标题栏内容自定义:使用代码实现和xml布局自定义属性2种办法实现)
在个人学习的情况下可能很少使用自定义布局去实现大量复用的情况下,但是在一个开发工作的环境下就会使用到大量复用的自定义控件. 实现思维: 1.写一个xml的布局,用于标题栏的样式,并且添加在标题栏中你想 ...
- Android中将xml布局文件转化为View树的过程分析(下)-- LayoutInflater源码分析
在Android开发中为了inflate一个布局文件,大体有2种方式,如下所示: // 1. get a instance of LayoutInflater, then do whatever yo ...
- 仿酷狗音乐播放器开发日志二十四 选项设置窗体的实现(附328行xml布局源码)
转载请说明原出处,谢谢~~ 花了两天时间把仿酷狗的选项设置窗体做出来了,当然了只是做了外观.现在开学了,写代码的时间减少,所以整个仿酷狗的工程开发速度减慢了.今天把仿酷狗的选项设置窗体的布局代码分享出 ...
随机推荐
- promise的原理
promise的原理 一旦状态改变,就不会再变,任何时候都可以得到这个结果.Promise 对象的状态改变,只有两种可能:从 pending 变为 fulfilled 和从 pending 变为 re ...
- JavaScript中的基础测试题
Java ...
- MySQL 数据备份与还原 转载
MySQL 数据备份与还原 一.数据备份 1.使用mysqldump命令备份 mysqldump命令将数据库中的数据备份成一个文本文件.表的结构和表中的数据将存储在生成的文本文件中. mysqldum ...
- oracle 用户解锁和修改用户密码
1.安装教程参看:https://jingyan.baidu.com/article/3c48dd34be2a32e10be35881.html 2.用户解锁 --> 运行cmd --> ...
- 使用hbase遇到的问题
1.在使用hbase的时候 有很多问题,其中一个 使用sqoop import 从mysql 向hbase导入数据,报错:Error: java.lang.RuntimeException: Coul ...
- ASP.NET-Session cooike
Application .Cookie和 Session 两种会话有什么不同 答:Application是用来存取整个网站全局的信息,而Session是用来存取与具体某个访问者关联的信息, Sessi ...
- easyui datagrid 动态加入、移除editor
使用easyui 行编辑的时候完毕编辑的功能比較简单,可是假设要依据一个框的值动态改变别的值或者编辑的时候禁用某个框的时候就比較麻烦了. 比方像以下这样:加入行的时候每一个值都是手动输入,改动的时候第 ...
- 中科燕园arcgis外包案例之12---供水供热管线GIS系统
项目背景 绍兴县是浙江省第一个"数字城管"试点城市,也是全国第一个"数字城管"县级城市.随着经济的飞速发展.城市化步伐的加快,以及城市规模的扩大和现代化程度的不 ...
- Android学习路线(十三)Activity生命周期——暂停和恢复(Pausing and Resuming )一个Activity
在正常使用应用的过程中.前台的activity在一些时候会被其它的组件遮挡,导致这个activity暂停.举个样例.当一个半透明的activity被打开(比如一个dialog样式的activity), ...
- Python 异常(Exception)
1. 字符串为构造函数的参数 >> raise Exception('hyperdirve overload') Exception Traceback (most recent call ...