我有很多自定义视图。我想在Layout上显示特定的自定义视图。我正在使用View并尝试使用自定义视图初始化它。它没有任何帮助吗?
View custom=(View)findViewById(R.id.animation_View);
custom=new CustomeView(this, null);
setContentView(R.layout.activity_animation);
Activity_XMl
<View
android:id="@+id/animation_View"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
</View>
答案 0 :(得分:0)
使用CustomView
第一种方法是使用XML文件: -
例如,将activity_animation.xml
文件更改为
<com.myapp.CustomView
android:id="@+id/animation_View"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin" >
</com.myapp.CustomView>
请注意,com.myapp
应替换为您拥有CustomView
的包名。
然后将此xml在ur活动中设置为
setContentView(R.layout.activity_animation);
第二种方式是动态地进行,不使用任何xml: -
CustomView customView = new CustomeView(this, null);
setContentView(customView);
答案 1 :(得分:0)
不幸的是。你的方法是错的。您正在从xml中提升视图,然后再次分配以编程方式创建的新CustomView
。如果您的自定义视图为CustomView
,则无需以编程方式创建新的CustomView
。
你的最终代码应该是,
View custom=(View)findViewById(R.id.animation_View);
setContentView(R.layout.activity_animation);
假设您已正确扩展View
类并将其添加到activity_animation
xml中。有关创建自定义视图组件的帮助,请查看 -