可以通过以下步骤实现:
<com.example.MyCustomView
android:layout_width="200dp"
android:layout_height="150dp" />
public class MyCustomView extends View {
public MyCustomView(Context context) {
super(context);
}
public MyCustomView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyCustomView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onDraw(Canvas canvas) {
// 在此处实现自定义视图的绘制逻辑
super.onDraw(canvas);
}
}
public MyCustomView(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MyCustomView);
int width = typedArray.getDimensionPixelSize(R.styleable.MyCustomView_custom_width, ViewGroup.LayoutParams.WRAP_CONTENT);
int height = typedArray.getDimensionPixelSize(R.styleable.MyCustomView_custom_height, ViewGroup.LayoutParams.WRAP_CONTENT);
typedArray.recycle();
// 根据获取到的宽度和高度进行处理
// ...
}
<resources>
<declare-styleable name="MyCustomView">
<attr name="custom_width" format="dimension" />
<attr name="custom_height" format="dimension" />
</declare-styleable>
</resources>
通过以上步骤,你可以根据XML设置自定义视图的高度和宽度。在自定义视图的类文件中,你可以根据获取到的宽度和高度属性值进行相应的处理,以实现自定义视图的绘制和布局。
领取专属 10元无门槛券
手把手带您无忧上云