‘壹’ 如何设置Dialog铺满全屏,更改Dialog的显示位置
androidDialog示例代码:
1.创建象框
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("请输入"); //设置框标题
builder.setIcon(android.R.drawable.btn_star); //设置框标题前图标
2.创建EditText输入框
final EditText edit = new EditText(context);
3.输入框赋值给Dialog,并增加确定取消按键
builder.setView(edit);
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "输入: " + edit.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "点取消", Toast.LENGTH_SHORT).show();
}
});
4.设置用api并show弹
builder.setCancelable(true); //设置按钮否按返键取消,false则取消
AlertDialog dialog = builder.create(); //创建框
dialog.setCanceledOnTouchOutside(true); //设置弹框失焦点否隐藏,即点击屏蔽其否隐藏
dialog.show();
‘贰’ 请问在android中,下面两张图片最上方的那个弹出框是怎么实现的,貌似不是AlterDialog popWindow之类的
应该是使用Dialog实现的,Dialog可以指定其显示在最上面。,默认是显示在居中位置的。
‘叁’ android Dialog如何实现点击某一处,Dialog就显示地那个地方
如果真要这样做,那你就不要用Dialog了,使用PopupWindow自己写个类似对话框的View放进去,然后PopupWindow可以设置显示的具体位置坐标,这样就满足你的要求了
‘肆’ android 从底部弹出一个列表框点击列表框的内容再同样的弹出一个列表框,如此循环
这个用自定义dialog实现
dialog 的控件,用你自己的布局, listView要使用自定义Adapter Window window = dialog.getWindow();
window.setGravity(Gravity.BOTTOM); //此处可以设置dialog显示的位置
window.setWindowAnimations(R.style.mystyle); //添加动画
styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="mystyle" parent="android:Animation">
<item name="@android:windowEnterAnimation">@anim/dialog_enter</item> //进入时的动画
<item name="@android:windowExitAnimation">@anim/dialog_exit</item> //退出时的动画
</style>
</resources>
位于 res/anim/dialog_enter.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="100%p" %p指相对于父容器
android:ration="600"
/>
</set>
位于 res/anim/dialog_exit.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:toYDelta="100%p"
android:ration="600" //持续时间
/>
</set>
‘伍’ android中dialog下的内容位置偏左(这是虚拟机的,实际手机上偏左很严重)如下图:
一般默认的dialog都不好控制显示的样式,及格式,你最好还是自定义view,然后放到dialog里
‘陆’ android 使用activity 当dialog弹出框 ,layout出现左右两边有间距
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
getWindow().setAttributes(lp);