我正在尝试使用以下代码设置AlertDialog的宽度:
final View view = inflater.inflate(R.layout.action_bar_main, null);
view.findViewById(R.id.friends_bar).setOnClickListener(
new OnClickListener() {
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(MessagesPanel.this).setTitle(
"Messages").setAdapter(messagesAdapter,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
Log.d("Button Clicked",
msgs_array.get(which)
.getTitle());
}
});
AlertDialog dialog = builder.create();
WindowManager.LayoutParams dialogLocation = dialog.getWindow().getAttributes();
dialogLocation.gravity = Gravity.TOP | Gravity.LEFT;
dialogLocation.x = (int) view.findViewById(R.id.friends_bar).getX();
dialogLocation.y = (int) view.findViewById(R.id.friends_bar).getY() + 40;
dialogLocation.width = 100;
dialog.getWindow().setLayout(50, 250);
dialog.show();
};
});
但它不起作用..注意:x和y工作正常。
我也尝试过: 。dialog.getWindow()setAttributes(dialogLocation);
谢谢:)