<Android>圆角弹框

自定义弹窗类——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();

以下是对代码进行优化,使页面更美观的改进建议: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>游客主界面</title> <style> body { font-family: Arial, sans-serif; } .container { max-width: 600px; margin: 0 auto; padding: 20px; } .header { text-align: center; font-size: 24px; margin-bottom: 20px; } .menu { list-style-type: none; padding: 0; margin-bottom: 20px; } .menu li { margin-bottom: 10px; } .menu li a { display: block; padding: 10px; background-color: #f2f2f2; text-decoration: none; color: #333; border-radius: 5px; } .menu li a:hover { background-color: #ddd; } </style> </head> <body> <div class="container"> <h1 class="header">游客主页</h1> <ul class="menu"> <li><a href="#">菜单</a></li> <li><a href="/tarvel_war_exploded/show_spot.do?firstin=200710">查看景点信息</a></li> <li><a href="/tarvel_war_exploded/show_group.do?firstin=200710">查看旅游团信息</a></li> <li><a href="/tarvel_war_exploded/alter_feedback.do">管理个人反馈信息</a></li> <li><a href="/tarvel_war_exploded/alter_order.do">管理个人订单信息</a></li> <li><a href="/tarvel_war_exploded/show_information.do">查看个人信息</a></li> <li><a href="/tarvel_war_exploded/exit.do">退出登录</a></li> </ul> </div> </body> </html> ``` 在上述优化代码中,我们进行了以下改进: 1. 添加了一个包含所有内容的容器元素`<div class="container">`,并设置了最大宽度、居中对齐和内边距,以使页面内容在不同屏幕尺寸下更好地呈现。 2. 使用了CSS样式来设置标题、菜单和链接的样式,包括字体、颜色、背景色和边框等。这些样式使页面更具可读性和美观性。 3. 使用了无序列表`<ul>`来放置菜单项,并设置了列表项`<li>`的样式,使其具有间距和圆角边框。 请注意,这只是一种优化代码的建议,并且可以根据你的具体需求进行调整。你可以进一步改进样式、布局和标记结构,以满足你对页面美观性的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值