<Android>圆角弹框

本文介绍了一种自定义Android透明圆角弹窗的方法。通过继承Dialog类并设置特定的XML布局,可以创建带有图片、标题及自定义颜色的弹窗。此外,提供了设置图片资源、文本内容和颜色的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自定义弹窗类——Android 透明圆角弹窗


import android.app.Dialog;
import android.content.Context;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Window;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.annotation.NonNull;




public class MySetDailog extends Dialog {
    public TextView tvmydailog01 = null;
    public TextView tvmydailog02 = null;
    public ImageView ivdailog = null;


    public MySetDailog(@NonNull Context context ) {
        super(context);
        setContentView(R.layout.dialog_mydailog);//加载布局
        tvmydailog01 = findViewById(R.id.tv_mydailog01);
        tvmydailog02 = findViewById(R.id.tv_mydailog02);
        ivdailog = findViewById(R.id.iv_mydailog);
        setCanceledOnTouchOutside(true);//点击其他区域时   true  关闭弹窗  false  不关闭弹窗

    }

    /*设置图片接口*/
    public void setImageResource(int resId){
        ivdailog.setImageResource(resId);
    }

    /*设置文字接口*/
    public void setText01(String str){
        tvmydailog01.setText(str);
    }
    public void setText02(String str){
        tvmydailog02.setText(str);
    }
    /*设置文字颜色接口*/
    public void setColor01(int color01){
        tvmydailog01.setTextColor(color01);
    }
    public  void setColor02(int color02){
        tvmydailog02.setTextColor(color02);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        //设置透明背景
        Window window = getWindow();
        window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));


    }
}

xml图片预览

xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/dialog_view"
    android:layout_width="325dp"
    android:layout_height="162dp"
    android:paddingTop="15dp"
    android:orientation="vertical"
    android:layout_gravity="center_horizontal"
    android:gravity="center"
    android:background="@drawable/bg_round_dailog">



        <ImageView
            android:id="@+id/iv_mydailog"
            android:layout_width="wrap_content"
            android:layout_height="66dp"
            android:src="@drawable/icon_warning" />

        <TextView
            android:id="@+id/tv_mydailog01"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="@dimen/dp_12"
            android:maxLines="1"
            android:text="@string/str_upload_fail"
            android:textColor="#BB340F"
            android:textStyle="bold"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/tv_mydailog02"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/str_push_true_phone"
            android:textColor="#ff555555"
            android:textSize="15sp"
            />


</LinearLayout>

边框

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!--背景色-->
    <solid android:color="@color/white" />
    <!--边框线-->
    <stroke
        android:width="@dimen/dp_2"
        android:color="#F9EADC" />
    <!--圆角-->
    <corners android:radius="@dimen/dp_15" />

</shape>

调用

  MySetDailog mySetDailog = new MySetDailog(BindActivity.this);
                mySetDailog.show();
   // 自定义图片,文字,以及颜色
                    mySetDailog.setImageResource(R.drawable.icon_success_orange);
                    mySetDailog.setText01("文字1内容");
                    mySetDailog.setColor01(R.color.color_8A4F00);
                    mySetDailog.setText02("文字2内容");
                    mySetDailog.setColor02(R.color.color_8A4F00);
                    mySetDailog.show();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值