AlertDialog
は3つのボタン(プラス、マイナス、ニュートラル)を持ち、携帯電話(Android 7.0)でテストするとうまく動作しますが、アンドロイド5.0と6.0を使って)テストすると、中立のボタンしか表示されませんでした。ここでAlertDialogのみAndroidのニュートラルボタンを表示<
はコードです:
AlertDialog.Builder isSelfieBuilder = new AlertDialog.Builder(context);
isSelfieBuilder.setTitle("Choose picture orientation.");
// Set up the buttons
isSelfieBuilder.setPositiveButton("Selfie", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Do something
}
});
isSelfieBuilder.setNeutralButton("Landscape", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Do something
}
});
isSelfieBuilder.setNegativeButton("Portrait", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//Do something
}
});
final AlertDialog picTypeDialog = isSelfieBuilder.create();
picTypeDialog.show();
final Button positiveButton = picTypeDialog.getButton(AlertDialog.BUTTON_POSITIVE);
LinearLayout.LayoutParams positiveButtonLL = (LinearLayout.LayoutParams) positiveButton.getLayoutParams();
positiveButtonLL.width = ViewGroup.LayoutParams.MATCH_PARENT;
positiveButton.setLayoutParams(positiveButtonLL);
final Button neutralButton = picTypeDialog.getButton(AlertDialog.BUTTON_NEUTRAL);
LinearLayout.LayoutParams neutralButtonLL = (LinearLayout.LayoutParams) neutralButton.getLayoutParams();
neutralButtonLL.width = ViewGroup.LayoutParams.MATCH_PARENT;
neutralButton.setLayoutParams(neutralButtonLL);
final Button negativeButton = picTypeDialog.getButton(AlertDialog.BUTTON_NEGATIVE);
LinearLayout.LayoutParams negativeButtonLL = (LinearLayout.LayoutParams) negativeButton.getLayoutParams();
negativeButtonLL.width = ViewGroup.LayoutParams.MATCH_PARENT;
negativeButton.setLayoutParams(negativeButtonLL);
誰もが私はそこにニュートラルボタンを取得する理由を任意のアイデアを持っていますか?私はアライメント部分(.show()
の後のすべて)を取り除こうとしましたが、私は同じ結果を得ました。私はAPI 21(5.0)でエミュレータをテストしていますが、同じ問題が発生します。
アンドロイド版で何かする必要があることを確認しますか?たぶんスクリーンのサイズがそれを引き起こしている.... – Opiatefuchs