Add*_*dev 3 java android views
我想创建一个自定义视图(我称之为MyComplexView),例如RelativeLayout有Imageview,一TextView,和Button.
我想用布局声明一个xml,然后创建类:
MyComplexView extends RelativeLayout{...}
Run Code Online (Sandbox Code Playgroud)
但我不知道应该覆盖什么来表明哪个布局应该膨胀.
我怎样才能做到这一点?谢谢
像这样的东西:
从超类中添加构造函数.(具有上下文的那个用于创建视图programaticaly,其他用于在XML中添加视图时).
创建一个名为init()example 的方法,并从每个构造函数中调用它.
在init方法里面做:
LayoutInflater.from(context).inflate(R.layout.my_view_layout,this,true);
现在膨胀额外的参数实际意味着:
true - >将布局附加到您的案例相对布局中的根(如果您的布局根也是相对布局,那么在xml内部您可以只合并标签,并在代码中对齐它们以便层次结构更简单)或任何布局你喜欢的布局.
这个 - >在您的情况下将膨胀视图附加到您正在扩展的相对布局的布局.
它会自动附加到根目录 - > extends RelativeLayout.
然后你可以使用findViewById:
this.findViewById(R.id.myView);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3291 次 |
| 最近记录: |