gpt4 book ai didi

android - 即使所有父 layout_width 设置为 fill_parent,对话框也在缩小

转载 作者:行者123 更新时间:2023-12-01 15:06:10 25 4
gpt4 key购买 nike

这里遇到了另一个奇怪的行为。这一次,尽管将所有父布局的宽度设置为 fill_parent,但我的对话框正在缩小宽度。这是图片... enter image description here

我已尝试将其作为主题设置为 list 中对话框的 Activity 。它仍然表现相同。但是,只要我将第一个 TextView“用户协议(protocol)”的 layout_width 设置为 fill_parent,它就会变得正常。但我不理解这种行为,因为它不应该依赖于 TextView 的宽度来获得它自己的宽度。请告诉我是否有任何其他有效的方法来处理这些类型的情况。我的布局代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@layout/gradientback"
android:orientation="vertical" >

<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:text="User Agreement"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#B80303" />

<View
android:layout_width="fill_parent"
android:layout_height="3dip"
android:background="?android:attr/listDivider" >
</View>

<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >

<CheckBox
android:id="@+id/checkBoxForTermsId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#7B4302"
android:text="I Agree The Terms &amp; Conditions" >
</CheckBox>

这不是布局的完整代码,因为我认为不需要它...

显示Dialog的代码如下:

private void showAgreementBox() {
// TODO Auto-generated method stub
final Dialog dialog = new Dialog(Launcher.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.useragreement);
dialog.setTitle("User Agreement");
dialog.setCancelable(false);
final TextView userAg = (TextView) dialog.findViewById(R.id.textViewOfUserAg);
final CheckBox checkUserAg = (CheckBox) dialog.findViewById(R.id.checkBoxForTermsId);
final Button continueB = (Button) dialog.findViewById(R.id.continueB);
checkUserAg.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (checkUserAg.isChecked() == true) {
continueB.setEnabled(true);
} else {
continueB.setEnabled(false);
}
}
});

continueB.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
dialog.dismiss();
//checkForTrialPeriod(isUserRegisterd);
}
});

Button cancelB = (Button) dialog.findViewById(R.id.cancelB);
cancelB.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
finish();
}
});
dialog.show();
}

最佳答案

修复父布局的宽度

 android:layout_width="400dp"

fill_parent 适用于 Activity xml,但对于对话框,您必须设置宽度。

如果您正在寻找通用解决方案在父布局中将图像设置为背景,就像我们将图像放置在不同的可绘制文件夹中以支持多个屏幕一样。

您还可以使用

将宽度设置为全屏
dialog.getWindow().getAttributes().width = LayoutParams.FILL_PARENT;

为什么对话框会显示此行为

对话框主题作为其性质的一部分,将顶级窗口布局设置为 WRAP_CONTENT。您可以尝试手动将窗口布局的宽度和高度设置为 FILL_PARENT。

引用自此 answer .

关于android - 即使所有父 layout_width 设置为 fill_parent,对话框也在缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19430858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com