2017-01-23 64 views
0

我的项目如何抽象我想创建一个具有这种类型的若干项行: my custom view一组的意见

一旦我有了这个“基地”布局/视图设置我希望能够到多次使用它来处理不同类型的操作,例如: A保存按钮,文本为“保存”,图像为星号或分享按钮,文本为“分享”,图像为分享图标

所以最终我想抽象这个自定义视图,让我做到这一点。

我见过的一些事情是<include>,<merge>并创建一个自定义视图类。

我对每一个这样的想法是:

<include>:这并不真正让我能够自定义内置布局的内容,只重用一些通用的XML

<merge>:同样,这不提供自定义方面

自定义视图类:我不写一个视图,执行默认情况下不提供的东西(如添加饼图视图或其他东西),而是我只是合并一组已经实现的视图。我认为这种方法可以解决我的问题,我只是不确定它是否正确。

在现实中,我知道,三个视图是没有太大的代码每次使用它时重现,但我认为这将是本组

+0

''标签实际上可以定制。您可以设置自己的属性,并在绘制“视图”时使用它们。 [这里](https://developer.android.com/training/custom-views/create-view.html)是细节 – Sunshinator

回答

0

创建您自己的类是最好的一个办法弄清楚抽象有用。

class MyView extends View { 
    public MyView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 
} 

后来定义自定义属性。

<resources> 
    <declare-styleable name="MyClass"> 
     <attr name="xxx" format="boolean" /> 
    </declare-styleable> 
</resources> 

请记住添加到您的项目中。

+0

为什么你说这是“最好的”方法来解决这个问题?还有其他可行的方法吗? –