經常安卓開發要用蘋果風格的東西,比如dialog
dialog.png
直接上代碼
public class SimpleDialog extends AlertDialog {
private String title;
private String left;
private String right;
private View.OnClickListener listener;
public SimpleDialog(@NonNull Context context,String title,String left,String right, View.OnClickListener listener) {
super(context);
this.title = title;
this.left = left;
this.right = right;
this.listener = listener;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_simple);
//這里是設置寬度,不設置的話是有一個margin值的match_parent效果。
Window window = getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.width = SizeUtils.dp2px(250F);
window.setAttributes(lp);
//如果你是圓角之類的話,這句設置背景透明要加上。
//否則有個白底在那兒,你的dialog也是白色的話是看不到圓角的
window.setBackgroundDrawableResource(android.R.color.transparent);
//dialog是可以直接findViewById的,拿到控件后設置文字、點擊
TextView tvTitle = (TextView) findViewById(R.id.tv_title);
TextView tvLeft = (TextView) findViewById(R.id.tv_left);
TextView tvRight = (TextView) findViewById(R.id.tv_right);
tvTitle.setText(title);
tvLeft.setText(left);
tvRight.setText(right);
tvLeft.setOnClickListener(listener);
tvRight.setOnClickListener(listener);
}
}
在dialog的布局文件中,寬度最好用match_parent和weight=1,高度可以寫固定值。然后在window里設置具體寬度,高度不設置。