用半透明背景Activity实现AlertDialog弹窗效果的原因是,用小米手机测试项目时,发现工具类中的AlertDialog弹窗无法弹出,查阅资料才知道小米工程师为了防止有人作恶禁用了这项功能。那么,现在必须想出替换方案,实现类似AlertDialog的弹窗效果。
最后决定用半透明背景Activity实现AlertDialog的弹窗效果。
看下最后的效果图:
先给出代码,之后分析:
MainActivity.java
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_NO_TITLE); // 隐藏标题栏
setContentView(R.layout.activity_main2);
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/transparent">
<RelativeLayout
android:id="@+id/message_relativelayout"
android:layout_centerInParent="true"
android:background="@color/white"
android:layout_width="300dp"
android:layout_height="100dp">
<TextView
android:id="@+id/message"
style="@style/text_s36_000000"
android:layout_width="match_parent"
android:layout_height=