【UI】【View】自定义布局方法与注意事项(二)

本篇博客是文章的继续。

【UI】【View】自定义布局方法与注意事项(一)


3. LayoutParams

①:此代码知识点较多,另一篇博客会专门记录。

//Margin是子view相对父控件四条边的距离
	@Override
	public ViewGroup.MarginLayoutParams generateLayoutParams(AttributeSet attrs){
		return new MarginLayoutParams(getContext(), attrs);
		
	}


三、注意事项

1. 如果需要从XML文件中inflate控件,必须写出控件以下全部构造方法。否则会报java.lang.classnotfoundexception。

//构造方法
	public CricleMenu(Context context) {
		super(context);
	}

	public CricleMenu(Context context, AttributeSet attrs) {
		super(context, attrs);
	}

	public CricleMenu(Context context, AttributeSet attrs, int defStyleAttr) {
		super(context, attrs, defStyleAttr);
	}


2.在使用自定义view时,XML文件要引用全部包名,否则会报android.view.inflateException。

<com.example.custom_view_test.CricleMenu
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#AA333333">
    

  </com.example.custom_view_test.CricleMenu>



猜你喜欢

转载自blog.csdn.net/caibaozixiaobai/article/details/50789916
今日推荐