今天在写一个ActionSheet的自定义控件时,突然发现无法获取到布局中的控件。
最初自己是通过LayoutInflater来获取layout中的view,但是点击的时候没有反应。
于是通过获取窗体的形式解决了问题。
actionSheet = new Dialog(mContext, R.style.mydialog);
actionSheet.setContentView(R.layout.dialog_camera);
Window window = actionSheet.getWindow();
//window.setContentView(R.layout.dialog_camera);
btnUseAlbum = (Button)window.findViewById(R.id.btn_use_album);
btnUseCamera = (Button)window.findViewById(R.id.btn_use_camera);
LayoutParams layoutParams = actionSheet.getWindow().getAttributes();
layoutParams.gravity = Gravity.TOP;
layoutParams.width = LayoutParams.MATCH_PARENT;
actionSheet.getWindow().getAttributes().windowAnimations = R.style.DialogAnimation;
actionSheet.show();