不做概念性介紹 只寫例子和遇到的問題
例子1
解決的問題是
1 MaterialDialog設(shè)置自定義布局的時(shí)候 設(shè)置title和按鈕時(shí)沒有效果的,因?yàn)樽远x布局覆蓋了MaterialDialog 的布局肘交,所以只能自己在自定義布局中將 title 和 兩個(gè)按鈕 畫出來 然后設(shè)置值和事件監(jiān)聽
2 editText在dialog中無法輸入的問題
MaterialDialog dialog = new MaterialAlertDialog(this);
//設(shè)置自定義布局
dialog.setContentView(R.layout.view_group_chat_details_group_name_dialog);
View customView = dialog.getCustomView();
//我在自定義布局中放了個(gè)editText
MinMaxEditText editText = customView.findViewById(R.id.group_name_change_et);
DinTextView saveButton = customView.findViewById(R.id.group_name_save);
saveButton.setOnClickListener(v -> {
model.handleGroupNameChange(editText.getText());
dialog.dismiss();
});
DinTextView cancelButton = customView.findViewById(R.id.group_name_cancel);
cancelButton.setOnClickListener(v -> dialog.dismiss());
//設(shè)置dialog 顯示的時(shí)候 調(diào)起鍵盤 miss的時(shí)候 隱藏鍵盤
dialog.setOnShowListener(dialogInterface -> KeypadUtils.showSoftKeyboard(editText));
dialog.setOnCancelListener(dialogInterface -> KeypadUtils.hideSoftKeyboard(editText));
// 這句代碼解決了 editText 在dialog中的時(shí)候 無法輸入的問題
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM);
dialog.show();
布局如下
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<com.grindrapp.android.view.DinTextView
android:id="@+id/group_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="@color/grindr_pure_black"
android:text="@string/chat_group_details_group_name"
android:textStyle="bold"
android:layout_alignParentTop="true"
android:layout_marginTop="25dp"
android:layout_marginLeft="27dp"
android:layout_alignParentLeft="true"/>
<com.grindrapp.android.view.MinMaxEditText
android:id="@+id/group_name_change_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_below="@id/group_name"
android:layout_alignLeft="@+id/group_name"
android:layout_marginRight="29dp"
app:charLimit="30"
app:minMaxEditTextColor="@color/grindr_grey_5"/>
<com.grindrapp.android.view.DinTextView
android:id="@+id/group_name_cancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/grindr_grey_3"
android:textSize="16sp"
android:text="@string/cancel"
android:layout_alignBottom="@+id/group_name_save"
android:layout_toLeftOf="@+id/group_name_save"
android:layout_marginRight="28dp"/>
<com.grindrapp.android.view.DinTextView
android:id="@+id/group_name_save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:textColor="@color/grindr_goldenrod"
android:text="@string/ok"
android:layout_marginTop="33dp"
android:layout_marginBottom="29dp"
android:layout_marginRight="29dp"
android:layout_below="@+id/group_name_change_et"
android:layout_alignParentRight="true"/>
</RelativeLayout>
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者