我在看这里的文档: http://developer.android.com/guide/topics/ui/dialogs.html#PassingEvents
他们所有的例子似乎忽略了开发人员完全改变OK |的外观和/或定位的潜在愿望取消按钮。
我觉得DialogFragment的解决方案很接近,但我仍然没有明显的方法来定义我的活动中的View应该是OK按钮,以便我可以轻松地将回调附加到它。
我错过了什么?或者是否真的无法在任何扩展AlertDialog或DialogFragment的东西中操纵按钮的外观和位置?
答案 0 :(得分:2)
您可以使用Dialog
并为其添加自己的自定义布局,并控制其中每个视图的外观。以下是如何执行此操作的示例:
final Dialog alert = new Dialog(FingerPaintActivity.this, android.R.style.Theme_Light_Panel);
alert.requestWindowFeature(Window.FEATURE_NO_TITLE); // no title
alert.getWindow().getAttributes().windowAnimations = R.style.PauseDialogAnimation; // this is used for custom animation when dialog is showing and hiding
alert.setContentView(getLayoutInflater().inflate(R.layout.stamps, null)); // here is your custom layout
alert.getWindow().setLayout(width-50, (height-100)); // set height / width
你可以使用set listeners来查看你的视图(例如按钮):
Button myOkBtn = (Button) alert.findViewById(R.id.myOkBtn);
myOkBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});