Android组合布局
来源:互联网 发布:卖家网数据监控 编辑:程序博客网 时间:2024/06/06 19:15
其实很多复杂的布局都可以切成一小部分的布局然后去组合而成的。
比如我有一张照片,我想给他加个相框,而这张照片必须是可以被客户自行选择的,整个相片相框又必须作为一个图片放在一个固定的位置。其实如果是一张固定的照片,那么一开始就可以用PS把照片和相框做成一张图片的,但要被客户指定的话,也可以把相框和相处做成一个整体的(当然也可以没必要,如果你有自信控制界面不变形的话,这里只是举个例子说明一下)。
图片组合可以使用layer-list标签。在drawable目录下新建个XML文件。
要用2张图片叠加起来,看上去形成一张图片
首先创建一个drawalbe/login_head.xml的文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <layer-list xmlns:Android="http://schemas.android.com/apk/res/android"> <item Android:id="@+id/user_faceback_drawable" android:drawable="@drawable/faceback" /> <item Android:id="@+id/user_face_drawable" android:drawable="@drawable/h001" android:left="10.0dip" android:top="18.0dip" android:right="25.0dip" android:bottom="35.0dip" /> </layer-list>
然后就可以使用这个组合的图片了,比如在ImageView中显示:
<ImageView Android:id="@+id/faceImg" android:background="@drawable/login_head"
Android:layout_width="wrap_content" android:layout_height="wrap_content" />
在java代码中引用:
((ImageView) findViewById(R.id.imageview)).setImageDrawable(getResources().getDrawable(R.drawable.drawable-layer)
在代码中也可以实现layer,更可以动态来控制:
Resources resources = getResources();
Drawable[] layers = new Drawable[2];
layers[0] = r.getDrawable(R.drawable.white);
layers[1] = r.getDrawable(R.drawable.logo_overlay);
LayerDrawable layerDrawable = new LayerDrawable(layers)
((ImageView) findViewById(R.id.imageview)).setImageDrawable(layerDrawable);
在layer-list的item中也可以使用更多的其他属性标签,例如:
<shape>
<gradient android:angle="270" android:endColor="#4559F3"
android:startColor="#4559F3" />
<size android:height="60dp" android:width="320dp" />
<corners android:topLeftRadius="10dip"
android:topRightRadius="10dip"
android:bottomLeftRadius="10dip"
android:bottomRightRadius="10dip"/>
</shape>
第一个item排在最下层,第二个item排在上面,当然还可以排三层、四层......,item之间最好产生距离,不然上层的会挡住下层的。
有时候有些复杂的布局就不是几个图片组合就能搞定的,然后就需要多个XML布局来组合了。就是一个网页一样,有头部尾部有母版页有控件,可以重复自由组合成一个网页。Android也可以。使用include就能做到,同时可以配合merge。
android的merge学习:http://www.cnblogs.com/travelfromandroid/articles/2133206.html
- Android组合布局
- Android 自定义组合布局
- Android 自定义布局之组合部件
- Android UI控件组合应用之二:按钮布局
- 组合组件のCusRelativeLayout(Android-自定义相对布局)
- 背景layout组合布局
- 自定义组合布局
- 自定义组合控件--来自布局
- ViewPager 和 RadioGroup 组合布局
- Android通过组合组件来提高布局文件代码的复用
- Android基础动画,组合动画,帧动画,布局动画,Activity跳转动画
- Android基础动画,组合动画,帧动画,布局动画,Activity跳转动画
- Android 布局:相对布局
- android 布局
- Android布局
- android布局
- Android 布局
- android 布局
- java 读取 Excel兼容2003,2007
- 系统集成项目管理工程师笔记(3)系统集成技术专业知识
- Qt移植后触摸屏无法输入(结合自身情况:见评论)
- Go语言,在Ubuntu9.10和Windows安装
- Android代码混淆
- Android组合布局
- 七夕夜、离别,涵情经河岸
- [转] Debian Linux下网络流量查看工具大全。
- 用ntbackup加Windows任务计划来实现自动备份
- ASP.NET动态加载不同CSS,实现切换皮肤效果
- ASP.NET Session丢失问题原因及解决方案
- quartz在集群环境下的最终解决方案
- 链表基础知识
- 在打开文件对话框上实现图象预览