如何进行活动(使用Theme.dialog显示)占据了大部分屏幕 - Android

时间:2013-07-05 12:40:17

标签: android android-activity

Android 2.3.3

我有一项活动,使用以下代码显示。

<activity android:name="com.xx.xxx.CombinationActivity"
    android:label=""
    android:theme="@android:style/Theme.Dialog">            
</activity>

这是布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:gravity="center"
    android:background="#000000"
    android:orientation="vertical" >


    <!-- Beginner / Intermediate and so on -->
    <TextView
        android:id="@+id/textview_choose_level_main_title_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="@string/text_choose_level_main_title_1"
        android:textColor="#FFFFFF"
        android:layout_marginBottom="20dp"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textview_choose_level_1_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="@string/text_choose_level_1_default_title"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#FFFFFF" />

    <TextView
        android:id="@+id/textview_choose_level_1_range"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="@string/text_choose_level_1_default_range"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#FFFFFF" />

    <SeekBar
        android:id="@+id/seekbar_choose_level_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="20dp"
        android:max="100" />

    <TextView
        android:id="@+id/textview_choose_level_empty"
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:gravity="center_horizontal"
        android:text=""
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#FFFFFF" />


    <!-- 2 / 3 / 4 / 5  -->
   <TextView
        android:id="@+id/textview_choose_level_main_title_2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="@string/text_choose_level_main_title_1"
        android:textColor="#FFFFFF"
        android:layout_marginBottom="20dp"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/textview_choose_level_2_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="@string/text_choose_level_1_default_title"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#FFFFFF" />

    <TextView
        android:id="@+id/textview_choose_level_2_range"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:text="@string/text_choose_level_1_default_range"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#FFFFFF" />

    <SeekBar
        android:id="@+id/seekbar_choose_level_2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="20dp"
        android:max="100" />

</LinearLayout>

当我运行应用程序时,我得到第一张图片中显示的内容。我需要它作为第二个图像。

提前致谢..

现在是什么:

enter image description here

我想要的是什么:

enter image description here


回答:::

对于那些正在寻找类似解决方案的人,我从@Marko评论中找到答案。谢谢Marko ..

以下是链接:click here

以下是解决方案:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.your_layout);

    getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
}

3 个答案:

答案 0 :(得分:3)

在具有Theme.Dialog样式集的活动中,执行以下操作:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.your_layout);

    getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
}

答案 1 :(得分:0)

我只想猜你想要什么......

我认为您希望活动填满您的屏幕

试试此代码

android:layout_width="fill_parent"

而不是

 android:layout_width="match_parent"

答案 2 :(得分:0)

使用

android:layout_width="match_parent"
android:minWidth="1000dp"

您的对话框现在将填充屏幕宽度。