我目前正在开发的Android应用程序的主要活动已经变得非常大。这主要是因为它包含TabWidget
带有3个标签的。每个选项卡都有很多组件。活动必须一次控制所有这些组件。因此,我想您可以想象这个Activity有20个字段(几乎每个组件都有一个字段)。它还包含许多逻辑(单击侦听器,填充列表的逻辑等)。
我通常在基于组件的框架中所做的就是将所有内容拆分为自定义组件。每个自定义组件将承担明确的责任。它包含它自己的一组组件以及与该组件相关的所有其他逻辑。
我试图弄清楚如何做到这一点,并且在Android文档中找到了他们喜欢称之为“复合控件”的东西。(请参阅http://developer.android.com/guide/topics/ui/custom-
components.html#compound
并滚动到“复合控件”部分)我想基于定义了视图结构。
在文档中说:
请注意,就像使用Activity一样,您可以使用声明式(基于XML)方法来创建所包含的组件,也可以从代码中以编程方式嵌套它们。
好吧,这是个好消息!基于XML的方法正是我想要的!但是它没有说如何去做,除了它“像一个Activity”一样。但是我在Activity中要做的是调用setContentView(...)
以从XML扩展视图。如果您例如使用subclass,则该方法不可用LinearLayout
。
因此,我尝试像这样手动将XML充气:
public class MyCompoundComponent extends LinearLayout {
public MyCompoundComponent(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.my_layout, this);
}
}
除了我正在加载的XML已LinearLayout
声明为根元素的事实以外,此方法均有效。这导致膨胀LinearLayout
的孩子MyCompoundComponent
本身已经是一个孩子LinearLayout
!因此,现在我们之间有了一个多余的LinearLayout
MyCompoundComponent
及其实际需要的视图。
有人可以为我提供一种更好的方法来解决此问题,而避免冗余LinearLayout
实例化吗?
使用 合并 标签作为XML根
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Your Layout -->
</merge>
检查这篇文章。
本文向大家介绍Android中View自定义组合控件的基本编写方法,包括了Android中View自定义组合控件的基本编写方法的使用技巧和注意事项,需要的朋友参考一下 有很多情况下,我们只要运用好Android给我提供好的控件,经过布局巧妙的结合在一起,就是一个新的控件,我称之为“自定义组合控件”。 那么,这种自定义组合控件在什么情况下用呢?或者大家在做项目时候会发现,某些布局会被重复的利用,同一
本文向大家介绍Android自定义控件之自定义组合控件(三),包括了Android自定义控件之自定义组合控件(三)的使用技巧和注意事项,需要的朋友参考一下 前言: 前两篇介绍了自定义控件的基础原理Android自定义控件基本原理详解(一)、Android自定义控件之自定义属性(二)。今天重点介绍一下如何通过自定义组合控件来提高布局的复用,降低开发成本,以及维护成本。 使用自定义组合控件的好处? 我
在 imi 框架中,使用注解可以实现很多功能。比如:路由、模型定义、事务、缓存等等 除了内置的注解以外,如果编写属于自己的注解呢? 这篇教程就来教大家来编写属于自己的注解。 注解定义 注解扫描 imi 是常驻内存运行的,所以冷启动时采用了全量扫描的方式,来实现注解缓存。使用的时候,就和读取配置一样简单高效。 一般需要在配置文件里的beanScan中,配置注解类所在命名空间。在 imi 框架中,涉及
本文向大家介绍Android自定义View编写随机验证码,包括了Android自定义View编写随机验证码的使用技巧和注意事项,需要的朋友参考一下 很多的Android入门程序猿来说对于Android自定义View,可能都是比较恐惧的,但是这又是高手进阶的必经之路,所有准备在自定义View上面花一些功夫,多写一些文章。先总结下自定义View的步骤: 1、自定义View的属性 2、在View的构造方
本文向大家介绍Android自定义图片集合,包括了Android自定义图片集合的使用技巧和注意事项,需要的朋友参考一下 本文主要包括以下内容: 使用Xfermode设置圆角图片 使用BitmapShader设置圆角图片 滑动旋转缩放的bimp图片 图片颜色处理(滑动) 图片 + 文字 其中1,2是两种不同方式处理图片圆角的情况。3,是通过Matrix进行图片缩放,旋转等。4,是通过Matrix操作
我正在尝试为AWT Graphics2D实现类似于SWT GC的xor模式绘图。使用内置XORComposite不是一个选项,因为它不像SWT那样实现xor模式绘图。 SWT xor模式绘图通过二进制异或组合源颜色和目标颜色。AWT XORComposite(可通过)使用恒定的xor颜色,该颜色通过二进制异或与源颜色组合,即目标颜色不影响结果颜色。 所以我唯一的选择就是编写我自己的Composit