View Binding的使用记录

460 阅读1分钟

#ViewBing的使用

android {
	...
	//根据版本自行选择

	//3.6
	viewBinding {
	    enabled = true
	}

	//4.0
	buildFeatures {
	viewBinding true
	}
}

如果要在生成绑定类时忽略布局文件,则将tools:viewBindingIgnore="true"属性添加到该布局文件的根视图:

<androidx.constraintlayout.widget.ConstraintLayout
    ...
    tools:viewBindingIgnore="true" >
    ...
</androidx.constraintlayout.widget.ConstraintLayout>

在activities中使用

private ActivityMainBinding binding;

@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	binding = ActivityMainBinding.inflate(getLayoutInflater());
	View view = binding.getRoot();
	setContentView(view);
}


binding.name.setText("Hello World"));
binding.button.setOnClickListener(new View.OnClickListener() {

});

在fragment中使用

private FragmentBinding binding;

@Override
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    binding = FragmentBinding.inflate(inflater, container, false);
    View view = binding.getRoot();
    return view;
}

@Override
public void onDestroyView() {
    super.onDestroyView();
    binding = null;
}

binding.name.setText("Hello World");
binding.button.setOnClickListener(new View.OnClickListener() {

});

官方地址: developer.android.google.cn/topic/libra…