圆角dialog配合自定义布局(去除外框阴影)

一,

新建自定义dialog

package com.example.administrator.testjs;


import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;


/**
 * Created by Think on 2016/8/9.
 */
public class CommentDialog extends Dialog {
    private TextView tv;


    public CommentDialog(Context context) {
        super(context, R.style.loadingDialogStyle);
        this.setCanceledOnTouchOutside(false);
    }


    private CommentDialog(Context context, int theme) {
        super(context, theme);
    }


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.item_progress);
    }
}


二,

自定义values的style

<style name="loadingDialogStyle" parent="android:Theme.Dialog">
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowFrame">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowContentOverlay">@null</item>
    <!-- 对话框是否有遮盖 -->
    <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
    <item name="android:backgroundDimEnabled">true</item>
</style>


三,xml布局文件

重点是background设置一个shape以达到圆角效果

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="200dp"
              android:background="@drawable/btn_blue_border"
              android:layout_height="100dp">
<TextView
    android:id="@+id/tvOne"
    android:layout_marginTop="30dp"
    android:layout_centerHorizontal="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="15sp"
    android:text="点击重新加载.."
    android:textColor="#000"
    />
    <Button
        android:layout_marginTop="20dp"
        android:layout_below="@+id/tvOne"
        android:id="@+id/btnRestart"
        android:layout_marginBottom="10dp"
        android:layout_centerHorizontal="true"
        android:textSize="13sp"
        android:text="确定"
        android:layout_width="60dp"
        android:layout_height="20dp"
        android:background="@drawable/btn_blue_border"/>
</RelativeLayout>

四,shape布局

<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- 填充颜色 -->
    <solid android:color="#77000000" />

    <!-- 圆角 -->
    <corners android:radius="5dip" />

    <!-- 边框 -->
    <!--<stroke-->
        <!--android:width="1dip"-->
        <!--android:color="#77000000" />-->
    
    <!-- 间隔 -->
    <padding
        android:left="5dp"
        android:right="5dp"/>

</shape>

五,使用

mNetWorkDialog = new NetWorkDialog(this,R.style.loadingDialogStyle);
mNetWorkDialog.show
如果想对dialog做一些操作或者findViewById  都要在show之后进行

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值