1.先看效果图,点击按住按钮会变成红色,松开会恢复成原来的颜色
这里是视频演示。
Dialog弹窗
2.先在values/themes.xml新建一个样式MyDialog
<!-- MyDialog的配置属性 -->
<style name="MyDialog" parent="android:Theme.Dialog">
<!-- 背景颜色及透明程度 -->
<item name="android:windowBackground">@android:color/transparent</item>
<!-- 是否半透明 -->
<item name="android:windowIsTranslucent">false</item>
<!-- 是否没有标题 -->
<item name="android:windowNoTitle">true</item>
<!-- 是否浮现在activity之上 -->
<item name="android:windowIsFloating">true</item>
<!-- 是否背景模糊,这个决定背景是否灰色 -->
<item name="android:backgroundDimEnabled">true</item>
<!-- 设置背景模糊的透明度-->
<item name="android:backgroundDimAmount">0.5</item>
</style>
3.新建一个MyDialog继承Dialog类
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.Display;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import com.example.myapplication001.R;
public class MyDialog extends Dialog implements View.OnClickListener{
//在构造方法里提前加载了样式
private Context context;//上下文
private int layoutResID;//布局文件id
private int[] listenedItem;//监听的控件id
public MyDialog(Context context,int layoutResID,int[] listenedItem){
super(context,R.style.MyDialog);//加载dialog的样式
this.context = context;
this.layoutResID = layoutResID;
this.listenedItem = listenedItem;
}
@Override