我尝试制作全屏警报对话框。但我得到了这个ScreenShot。请帮助我改进它,完全填满屏幕。我已经阅读了很多问题,但我无法解决这个问题。
这是我的代码:
// AlertDialog Builder
AlertDialog.Builder bmneu = new AlertDialog.Builder(this, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
// Inflate
LayoutInflater inflate = this.getLayoutInflater();
// View
View v = inflate.inflate(R.layout.help_archive, null);
// Assign view to AlertDialogBuilder
bmneu.setView(v);
// Alert Dialog
AlertDialog alertHelp = bmneu.create();
// Show AlertDialog
alertHelp.show();
xml代码(help_archive.xml):
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#40e9e2f7" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/txtHelpArchive1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="در این قسمت بایگانی از موارد خمسی ذخیره شده را مشاهده می کنید."
android:gravity="right"
android:padding="10dp"
android:textColor="#ffffff"
android:background="@android:color/transparent" />
<ImageView
android:id="@+id/imgHelpArchive1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/help_archive1"
android:padding="10dp" />
<TextView
android:id="@+id/txtArchive2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="تاریخ سال خمسی با مشخص بودن، شمسی و یا قمری بودن سال، مشخص شده است. در سمت چپ تصویر نیز برای حذف، تعبیه شده است."
android:gravity="right"
android:padding="10dp"
android:textColor="#ffffff"
android:background="@android:color/transparent" />
<ImageView
android:id="@+id/imgHelpArchive2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/help_archive2"
android:padding="10dp" />
<TextView
android:id="@+id/txtHelpArchive3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="با فشردن کلیدهای زیر می توانید، می توانید مواردی را که قبلا ذخیره کرده اید، مشاهده و یا ارسال کنید."
android:gravity="right"
android:padding="10dp"
android:textColor="#ffffff"
android:background="@android:color/transparent" />
<ImageView
android:id="@+id/imgHelpArchive3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/help_archive3"
android:padding="10dp" />
</LinearLayout>
</ScrollView>
感谢。
答案 0 :(得分:1)
您可以做的是创建一个自定义Dialog,扩展DialogFragment,并在onStart()方法上创建以下内容:
@Override
public void onStart() {
super.onStart();
int height = (int)(getResources().getDisplayMetrics().heightPixels);
int width = (int)(getResources().getDisplayMetrics().widthPixels);
getDialog().getWindow().setLayout(width, height);
}
希望这有帮助!如果我不够清楚,请告诉我。
答案 1 :(得分:0)
也许这会有用:
AlertDialog.Builder bmneu = new AlertDialog.Builder(this, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
// Inflate
LayoutInflater inflate = getLayoutInflater();
// View
View v = inflate.inflate(R.layout.help_archive, null);
// Assign view to AlertDialogBuilder
bmneu.setView(v);
// Alert Dialog
AlertDialog alertHelp = bmneu.create();
// Show AlertDialog
alertHelp.show();
ScrollView.LayoutParams params = (ScrollView.LayoutParams) v.getLayoutParams();
params.height = getResources().getDisplayMetrics().heightPixels;
params.width = getResources().getDisplayMetrics().widthPixels;
v.setLayoutParams(params);
最后一段代码设置视图的宽度和高度(在对话框内)
因此,请在展示alertHelp.show()
之后添加以下代码(请记住 v 是您的布局):
ScrollView.LayoutParams params = (ScrollView.LayoutParams) v.getLayoutParams();
params.height = getResources().getDisplayMetrics().heightPixels;
params.width = getResources().getDisplayMetrics().widthPixels;
v.setLayoutParams(params);