XML 레이아웃에서 확장 된 일부 사용자 지정 대화 상자를 사용하는 Android 앱이 있습니다. 대화 상자의보기 내용은 XML 레이아웃에서 가져 오지만 빌더의 setPositiveButton 및 setNegativeButton 메서드를 호출하여 실제 양수 및 음수 버튼이 추가되므로 스타일을 제어 할 수 없습니다 (또는 적어도 제어 방법을 모릅니다). 버튼 자체의.
DialogFragment를 확장하는 LoginConfirmationDialog.java 파일에서 아래의 onCreateDialog 메서드를 참조하십시오. 기본적으로 로그인 한 사람을 확인하는 매우 간단한 대화 상자가 표시됩니다 (예 : "Are you Joe Schmoe?", Yes 및 No 버튼 포함).
이 경우 XML 레이아웃에는 TextView가 하나 뿐이며이를 쉽게 수행하기 위해 (사용자는 큰 텍스트와 큰 버튼이 필요한 크고 더러운 손가락을 가진 건설 작업자이기 때문에) TextView의 글꼴을 꽤 크게 만들었습니다. 두 개의 버튼은 텍스트에 대해 훨씬 작은 글꼴을 가지고 있으며 레이아웃의 일부가 아니며 setPositiveButton 및 setNegativeButton 메서드와 함께 추가되었으므로 글꼴 크기를 어떻게 제어합니까?
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Bundle args = this.getArguments();
String empName = args.getString("empName");
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
View view = getActivity().getLayoutInflater().inflate(R.layout.dialog_login_confirmation, null);
TextView message = (TextView)view.findViewById(R.id.txtLoginConfirmationMessage);
message.setText("Are you " + empName + "?");
builder.setView(view);
builder.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
mListener.onEmpConfirmPositiveClick(LoginConfirmationDialog.this);
}
});
builder.setNegativeButton("No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
mListener.onEmpConfirmNegativeClick(LoginConfirmationDialog.this);
}
});
// Create the AlertDialog object and return it
return builder.create();
}
반환하는 대신 builder.create()
이것을 시도하십시오 .-
final AlertDialog alert = builder.create();
alert.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface dialog) {
Button btnPositive = alert.getButton(Dialog.BUTTON_POSITIVE);
btnPositive.setTextSize(TEXT_SIZE);
Button btnNegative = alert.getButton(Dialog.BUTTON_NEGATIVE);
btnNegative.setTextSize(TEXT_SIZE);
}
});
return alert;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다