应用程序

时间:2015-08-14 06:19:40

标签: java android android-layout alertdialog

我正在设计一个弹出AlertDialog,它将警报对话框的视图设置为以下XML文件。由于某种原因,文件不会添加边距,我无法弄清楚我做错了什么。边距和填充不适用于activity_priority_level_values LinearLayout,包含所有TextView的LinearLayout或任何TextView。如何为所有文本视图之间的对话框边框和边距添加边距(或填充)?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_priority_level_values"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/large_space">
<TextView  android:id="@+id/level_1_header"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/level_1_header"/>

<TextView  android:id="@+id/level_1_decription"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/level_1_description"/>

<TextView  android:id="@+id/level_2_header"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/level_2_header"/>

<TextView  android:id="@+id/level_2_decription"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/mid_space"
    android:text="@string/level_2_description"/>

<TextView  android:id="@+id/level_3_header"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/level_3_header"/>

<TextView  android:id="@+id/level_3_decription"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/mid_space"
    android:text="@string/level_3_description"/>

<TextView  android:id="@+id/level_4_header"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/level_4_header"/>

<TextView  android:id="@+id/level_4_description"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/mid_space"
    android:text="@string/level_4_description"/>

<TextView  android:id="@+id/level_5_header"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/level_5_header"/>

<TextView  android:id="@+id/level_5_decription"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/level_5_description"/>
</LinearLayout>
</LinearLayout>

活动

LinearLayout hiddenLayout = (LinearLayout)findViewById(R.id.activity_priority_level_values);
AlertDialog.Builder builder = new AlertDialog.Builder(this);

if(hiddenLayout == null){
    LinearLayout myLayout = (LinearLayout)findViewById(R.id.activity_law_priority);
    View hiddenInfo = getLayoutInflater().inflate(R.layout.activity_priority_level_values, null);
    builder.setView(hiddenInfo);
}
builder.create();
builder.show();

1 个答案:

答案 0 :(得分:5)

问题是你的观点膨胀。

LinearLayout myLayout = (LinearLayout)findViewById(R.id.activity_law_priority);
View hiddenInfo = getLayoutInflater().inflate(R.layout.activity_priority_level_values, null);

你永远不应该用null充气。而是将代码更改为:

LinearLayout myLayout = (LinearLayout)findViewById(R.id.activity_law_priority);
View hiddenInfo = getLayoutInflater().inflate(R.layout.activity_priority_level_values, myLayout, false);

如果您使用null进行充气,则将忽略布局参数。