在安卓中不仅有对话框 还有弹出框即Popupwindow 弹出框有一个特点就是他不会抢夺焦点,在有弹出框弹出时其他的东西还是可以操作的
实现案例:
首先和AlertDialog一样建立一个自己的xml布局文件,
再是通过映射找到布局文件,加载到Popupwindow对象中,
示例代码:
PopupWindow pop;
public void btonclick(View v){
LayoutInflater inflater = LayoutInflater.from(this);
View myview = inflater.inflate(R.layout.layout_my_dialog, null);
//AlertDialog.Builder builder = new AlertDialog.Builder(this);
//builder.setView(myview);
pop = new PopupWindow(myview, 600, 500);
myview.findViewById(R.id.bt_02).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Toast.makeText(MainActivity2.this, "点击了确定", Toast.LENGTH_SHORT).show();
pop.dismiss();
}
});
pop.showAsDropDown(v); //第一种方法以v为锚点在他下面弹出框。
pop.showAtLocation(v, Gravity.CENTER, 100, 200); //第二种方法,100 200是偏移量,在v的哪个位置,Gravity.CENTER是以V的中心为中心
//dialog = builder.create();
//dialog.show();
//builder.show();
}
扩展:在有时需要一个activity作为一个对话框出现需要改变他的配置文件中改变他的风格就可以。(但应该注意背景色,有时不好的话可能出来是黑色的对话框)
修改风格的代码:
<activity android:name=".DetailActivity"
<span style="color:#FF6666;"> android:theme="@android:style/Theme.Dialog"</span>/>