android 自定义Dialog背景透明及显示位置设置

来源:互联网 发布:已备案的域名怎么转让 编辑:程序博客网 时间:2024/05/02 01:18

先贴一下显示效果图,仅作参考:

 

 

代码如下:

 

1、自定义Dialog

 

复制代码
public class SelectDialog extends AlertDialog{

public SelectDialog(Context context, int theme) {
    super(context, theme);
}

public SelectDialog(Context context) {
    super(context);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.slt_cnt_type);
}
}
复制代码

 

 

2、布局文件slt_cnt_type.xml代码 

 

复制代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android
="http://schemas.android.com/apk/res/android"
  android:orientation
="vertical"
  android:padding
="10dp" android:layout_width="115dp" android:layout_height="wrap_content" android:background="@color/blue">
    
<Button android:layout_height="wrap_content" android:background="#00000000" android:layout_width="fill_parent" android:text="全部联系人" android:paddingTop="5dp" android:paddingBottom="5dp" android:paddingLeft="10dp" android:gravity="left|center_vertical" android:id="@+id/btnSltCntAll"></Button>
    
<Button android:layout_height="wrap_content" android:background="#00000000" style="@drawable/greenhand_button" android:text="咕咚用户" android:gravity="left|center_vertical" android:paddingBottom="5dp" android:paddingTop="5dp" android:paddingLeft="10dp" android:paddingRight="10dp" android:layout_width="fill_parent" android:id="@+id/btnSltGudongUser"></Button>
    
<Button style="@drawable/greenhand_button" android:background="#00000000" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="推荐用户" android:gravity="left|center_vertical" android:paddingTop="5dp" android:paddingBottom="5dp" android:paddingLeft="10dp" android:id="@+id/btnSltRecommend"></Button>
</LinearLayout>
复制代码

 

3、颜色color.xml代码

 

<?xml version="1.0" encoding="utf-8"?>
<resources>
  
<color name="transparent">#00000000</color>
</resources>

 

4、样式style.xml代码

 

复制代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
    
<style name="dialog" parent="@android:style/Theme.Dialog">
        
<item name="android:windowFrame">@null</item><!--边框-->
        
<item name="android:windowIsFloating">true</item><!--是否浮现在activity之上-->
        
<item name="android:windowIsTranslucent">false</item><!--半透明-->
        
<item name="android:windowNoTitle">true</item><!--无标题-->
        <item name="android:windowBackground">@color/transparent</item><!--背景透明-->
        
<item name="android:backgroundDimEnabled">false</item><!--模糊-->
    
</style>
</resources>
复制代码

 

 

4、显示Dialog

 

复制代码
SelectDialog selectDialog = new SelectDialog(this,R.style.dialog);//创建Dialog并设置样式主题
Window win 
= selectDialog.getWindow();
LayoutParams params 
= new LayoutParams();
params.x 
= -80;//设置x坐标
params.y 
= -60;//设置y坐标
win.setAttributes(params);
selectDialog.setCanceledOnTouchOutside(
true);//设置点击Dialog外部任意区域关闭Dialog
selectDialog.show();
复制代码

 

 以上仅作参考,如有问题,请大家及时提出来,一起交流学习!

原创粉丝点击