如何使用 xml 文件 android 创建自定义组件
how to create a custom component with a xml file android
我有一个 xml 文件,我想通过使用扩展视图的 class 将它更改为一个组件。
我该怎么做 ??
java代码:
public class custom extends View {
public custom(Context context) {
super(context);
}
public custom(Context context , AttributeSet attrs) {
super(context , attrs);
}
}
这是我的 xml 代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.apd.ecryptfolders.custom">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"/>
谢谢!
您必须创建一个 class 来扩展布局根视图,然后膨胀 xml 布局
public class CustomView extends RelativeLayout {
public CustomView(Context context) {
super(context);
View view = inflate(getContext(), R.layout.layout_name, null);
addView(view);
// init layout
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
View view = inflate(getContext(), R.layout.layout_name, null);
addView(view);
// here you can apply custom attributes
// init layout
}
}
这些链接可以帮助您:
我有一个 xml 文件,我想通过使用扩展视图的 class 将它更改为一个组件。 我该怎么做 ??
java代码:
public class custom extends View {
public custom(Context context) {
super(context);
}
public custom(Context context , AttributeSet attrs) {
super(context , attrs);
}
}
这是我的 xml 代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.apd.ecryptfolders.custom">
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000"/>
谢谢!
您必须创建一个 class 来扩展布局根视图,然后膨胀 xml 布局
public class CustomView extends RelativeLayout {
public CustomView(Context context) {
super(context);
View view = inflate(getContext(), R.layout.layout_name, null);
addView(view);
// init layout
}
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
View view = inflate(getContext(), R.layout.layout_name, null);
addView(view);
// here you can apply custom attributes
// init layout
}
}
这些链接可以帮助您: