像Dialog这样的弹出消息

时间:2012-10-26 16:06:28

标签: android android-layout android-dialog

我实际上正在为Android编写应用程序,我需要一些帮助来做某事。 我需要用这张图片做一种弹出消息:http://img716.imageshack.us/img716/9331/postitz.png。此图像必须有2个TextView,其中一个是标题,另一个是消息。

我尝试了一些像Dialog这样的选项,它有自己的布局,自己的风格,但是图像填满了所有的屏幕,而不是包装TextViews的内容。我也试图用一个新的Activity来做,并且发生相同的情况,Image填满了所有的屏幕。

我的实际布局是:

<?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:orientation="vertical"
        android:gravity="center_vertical"
        android:background="@android:color/white">
    <LinearLayout
        android:id="@+id/img_postit"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:background="@drawable/postit"
        android:orientation="vertical">
        <TextView 
            android:id="@+id/note_titulo"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:padding="30dp"/>

        <TextView 
            android:id="@+id/note_descr"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:padding="30dp"/>
    </LinearLayout>
    </LinearLayout>

但我尝试过很多不同的组合,RelativeLayout,FrameLayout,而我找不到解决办法。

如何解决它?

感谢所有人。

3 个答案:

答案 0 :(得分:1)

创建自己的类扩展对话框。并使用如下布局。我在我的一个应用程序中使用它,对话框窗口包含按钮:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/background"
android:orientation="vertical" >

<RelativeLayout
    android:id="@+id/ll2"
    android:layout_width="fill_parent"
    android:layout_height="70dp"
    android:layout_below="@+id/ll1"
    android:gravity="left"
    android:orientation="horizontal"
    android:paddingBottom="5dp" >

    <RadioButton
        android:id="@+id/start"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_alignParentBottom="true"
        android:layout_toLeftOf="@+id/stop"
        android:background="@drawable/start_on"
        android:button="@android:color/transparent"
        android:checked="true" />

    <RadioButton
        android:id="@+id/stop"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_alignParentBottom="true"
        android:layout_centerInParent="true"
        android:layout_marginLeft="50dp"
        android:layout_marginRight="50dp"
        android:background="@drawable/stop_off"
        android:button="@android:color/transparent" />

    <RadioButton
        android:id="@+id/restart"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_alignParentBottom="true"
        android:layout_toRightOf="@+id/stop"
        android:background="@drawable/restart_on"
        android:button="@android:color/transparent" />
</RelativeLayout>

<RelativeLayout
    android:id="@+id/lltext"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/detail_credit"
    android:layout_below="@+id/ll2"
    android:layout_marginBottom="15dp"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/startText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/stopText"
        android:text="@string/start_server_icon"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="@android:color/white"
        android:textSize="12sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/stopText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="40dp"
        android:layout_marginRight="40dp"
        android:text="@string/stop_server_icon"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="@android:color/white"
        android:textSize="12sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/restartText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/stopText"
        android:text="@string/restart_server_icon"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="@android:color/white"
        android:textSize="12sp"
        android:textStyle="bold" />
</RelativeLayout>

<Button
    android:id="@+id/dialogButtonOK"
    android:layout_width="wrap_content"
    android:layout_height="50dp"
    android:layout_below="@+id/lltext"
    android:layout_centerHorizontal="true"
    android:text="OK" />
 </RelativeLayout>

答案 1 :(得分:1)

你说你用作新活动。您是否在清单文件中使用了android:theme="@android:style/Theme.Dialog

并确保图像稍微小一点,以便它适合作为弹出窗口... 如果您使用对话框究竟是什么问题?你没有弹出对话框吗? (我认为图像较大,可能会填满整个屏幕)

答案 2 :(得分:0)

final Dialog dialog_my = new Dialog(FIRST.this,
                    android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
            dialog_my.setContentView(R.layout.about_us); //<PUT YOUR LAYOUT ID HERE>
            TextView date = (TextView) dialog_my.findViewById(R.id.date);

            TextView thought = (TextView) dialog_my.findViewById(R.id.thought);

            TextView ok = (TextView) dialog_my.findViewById(R.id.ok);
            TextView link = (TextView) dialog_my.findViewById(R.id.link);
            TextView contact = (TextView) dialog_my.findViewById(R.id.contact);
            WindowManager.LayoutParams lp = dialog_my.getWindow().getAttributes();
            lp.dimAmount = 0.0f;
            dialog_my.getWindow().setAttributes(lp);
            dialog_my.getWindow().addFlags(
                    WindowManager.LayoutParams.FLAG_DIM_BEHIND);
            dialog_my.show();