片段没有宽度也没有高度
Fragment gets no width and no height
您看到的对话框是一个带有对话框主题的activity。里面的布局是
应与其宽度和高度相匹配的片段。它是使用 FragmentTransaction
class 以编程方式添加的。
问题是片段布局被挤压在一起,看起来很糟糕。我在片段布局和 activitys 的 xml 中使用了 match_parent
。
如何阻止对话框被挤压在一起并具有更大的 "natural" 大小?
ACTIVITY
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.myapp.rangevoice2.RoundActivity">
<FrameLayout
android:id="@+id/round_placeholder"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
</FrameLayout>
</android.support.constraint.ConstraintLayout>
片段
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.myapp.rangevoice2.CreateRoundFrag">
<!-- TODO: Update blank fragment layout -->
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<ImageView
android:id="@+id/divider"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:src="@color/place_autocomplete_prediction_primary_text_highlight"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/radioGroup" />
<TextView
android:id="@+id/numberOfHoles"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:text="@string/number_of_holes"
android:textColor="@color/cast_expanded_controller_background_color"
android:textSize="14sp"
app:layout_constraintBottom_toTopOf="@+id/divider"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/radioGroup" />
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginTop="16dp"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<RadioButton
android:id="@+id/nineHoles"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_weight="1"
android:text="@string/nine_holes" />
<RadioButton
android:id="@+id/eighteenHoles"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/eighteen_holes" />
</RadioGroup>
<TextView
android:id="@+id/coursesTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:text="@string/courses"
android:textColor="@color/cast_expanded_controller_background_color"
app:layout_constraintBottom_toTopOf="@+id/divider2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider" />
<Spinner
android:id="@+id/outSpinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginTop="16dp"
app:layout_constraintEnd_toStartOf="@+id/dash"
app:layout_constraintTop_toBottomOf="@+id/divider" />
<Spinner
android:id="@+id/inSpinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/outSpinner" />
<ImageView
android:id="@+id/divider2"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:src="@color/place_autocomplete_prediction_primary_text_highlight"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/outSpinner" />
<ImageView
android:id="@+id/dash"
android:layout_width="15dp"
android:layout_height="3dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:src="@color/cast_expanded_controller_background_color"
app:layout_constraintBottom_toBottomOf="@+id/inSpinner"
app:layout_constraintEnd_toStartOf="@+id/inSpinner"
app:layout_constraintTop_toTopOf="@+id/inSpinner" />
<TextView
android:id="@+id/playersTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="@string/players"
android:textColor="@color/cast_expanded_controller_background_color"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider2" />
</android.support.constraint.ConstraintLayout>
自定义警告对话框的高度和宽度android。以下是代码
WindowManager.LayoutParams params = new WindowManager.LayoutParams();
params.copyFrom(alertDialog.getWindow().getAttributes());
params.width = 100;
params.height = 400;
params.x=-190;
params.y=80;
alertDialog.getWindow().setAttributes(params);
不确定,但希望它会起作用。
您看到的对话框是一个带有对话框主题的activity。里面的布局是
应与其宽度和高度相匹配的片段。它是使用 FragmentTransaction
class 以编程方式添加的。
问题是片段布局被挤压在一起,看起来很糟糕。我在片段布局和 activitys 的 xml 中使用了 match_parent
。
如何阻止对话框被挤压在一起并具有更大的 "natural" 大小?
ACTIVITY
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.myapp.rangevoice2.RoundActivity">
<FrameLayout
android:id="@+id/round_placeholder"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
</FrameLayout>
</android.support.constraint.ConstraintLayout>
片段
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.myapp.rangevoice2.CreateRoundFrag">
<!-- TODO: Update blank fragment layout -->
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<ImageView
android:id="@+id/divider"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:src="@color/place_autocomplete_prediction_primary_text_highlight"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/radioGroup" />
<TextView
android:id="@+id/numberOfHoles"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:text="@string/number_of_holes"
android:textColor="@color/cast_expanded_controller_background_color"
android:textSize="14sp"
app:layout_constraintBottom_toTopOf="@+id/divider"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/radioGroup" />
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginTop="16dp"
android:orientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent">
<RadioButton
android:id="@+id/nineHoles"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_weight="1"
android:text="@string/nine_holes" />
<RadioButton
android:id="@+id/eighteenHoles"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/eighteen_holes" />
</RadioGroup>
<TextView
android:id="@+id/coursesTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:text="@string/courses"
android:textColor="@color/cast_expanded_controller_background_color"
app:layout_constraintBottom_toTopOf="@+id/divider2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider" />
<Spinner
android:id="@+id/outSpinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:layout_marginTop="16dp"
app:layout_constraintEnd_toStartOf="@+id/dash"
app:layout_constraintTop_toBottomOf="@+id/divider" />
<Spinner
android:id="@+id/inSpinner"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/outSpinner" />
<ImageView
android:id="@+id/divider2"
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_marginEnd="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:src="@color/place_autocomplete_prediction_primary_text_highlight"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/outSpinner" />
<ImageView
android:id="@+id/dash"
android:layout_width="15dp"
android:layout_height="3dp"
android:layout_marginEnd="16dp"
android:layout_marginRight="16dp"
android:src="@color/cast_expanded_controller_background_color"
app:layout_constraintBottom_toBottomOf="@+id/inSpinner"
app:layout_constraintEnd_toStartOf="@+id/inSpinner"
app:layout_constraintTop_toTopOf="@+id/inSpinner" />
<TextView
android:id="@+id/playersTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:text="@string/players"
android:textColor="@color/cast_expanded_controller_background_color"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/divider2" />
</android.support.constraint.ConstraintLayout>
自定义警告对话框的高度和宽度android。以下是代码
WindowManager.LayoutParams params = new WindowManager.LayoutParams();
params.copyFrom(alertDialog.getWindow().getAttributes());
params.width = 100;
params.height = 400;
params.x=-190;
params.y=80;
alertDialog.getWindow().setAttributes(params);
不确定,但希望它会起作用。