我正在开发一个应用程序,我必须在屏幕上显示一个按钮,如屏幕截图所示。但我想在其他一些活动上显示此按钮。 例如我有一个活动在屏幕上。现在两分钟后我想显示一个自定义警告对话框,即屏幕上显示的这个屏幕,而不是只显示按钮,警告对话框显示整个屏幕为对话框,即白色背景。如何摆脱这种背景,以便只有这个按钮可以作为警告对话框显示在屏幕上? 我自定义布局的代码是:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:text="Unable to Snooze"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="15dp"
android:id="@+id/button"
android:background="#088a68"
android:textColor="#FFFFFF"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="15dp" />
和警报对话框的活动代码是:
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(ActivityA.this);
LayoutInflater inflater = ActivityA.this.getLayoutInflater();
View dialogView = inflater.inflate(R.layout.alert, null);
dialogBuilder.setView(dialogView);
AlertDialog alert11 = dialogBuilder.create();
alert11.show();
}
}, 120000);
注意我想将屏幕底部的按钮显示为alertdialog
答案 0 :(得分:1)
编辑:
使用Dialog而不是AlertDialog.Builder,因此使用setContentView而不是setView。并检查一下:Dialog with transparent background in Android
旧答案:
如果要在多个活动中显示此按钮,则最好使用DialogFragment。您还可以将片段背景设置为透明,并且可以调整对话框的大小以适合按钮。
如何使用Dialog Fragment:https://stackoverflow.com/a/20405684/1781718
答案 1 :(得分:1)
试试这个: -
ViewPager
&安培;在您需要的地方调用此方法
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btn_snooze"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Unable to snooze"/>
</LinearLayout>
答案 2 :(得分:0)
尝试:
AlertDialog alert11 = dialogBuilder.create();
// Add this
alert11.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
alert11.show();