close
這篇介紹如呵自訂DialogFragment
可以用[Android] 10-3 自定Dialogreturn Dialog的方法來做
也可以用fragment的特性來產生
以[Android] 10-8 DialogFragment CallBack in fragment基礎
來介紹
1. 首先自訂ㄧ個layout
這邊新增ㄧ個只有TextView和Button的Layout
2. 接著在DialogFragment內
像Fragmentㄧ樣在onCreateView內inflater目標layout
onViewCreated做找ID
範例如下
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.dialog_test, container, false);
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
view.findViewById(R.id.btn_click).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismiss();
}
});
}
3. 而onCreateDialog的部分改成return dialog
其中Windows.FEATURE_NO_TITLE的參數
代表要不要秀Title
範例如下
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = super.onCreateDialog(savedInstanceState);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
return dialog;
}
4. 而在呈現方面則和之前ㄧ樣
TestDialog dialog = new TestDialog();
dialog.setTargetFragment(this, 0);
dialog.show(getFragmentManager(), "dialog");
5. 結果如下圖
6. 如果onCreateDialog的部分改成return dialog
沒有加Windows.FEATURE_NO_TITLE的參數
7. 則Dialog就會秀上方的Bar
文章標籤
全站熱搜
留言列表