0

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

我尝试了一些选项,例如具有自己的布局、自己的样式的对话框,但图像填充了整个屏幕,而不是包装 TextViews 的内容。我也尝试过使用新的 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: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,但我找不到解决方案。

任何想法如何解决它?

谢谢大家。

4

3 回答 3

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>
于 2012-10-26T16:10:24.460 回答
1

你说你用作一个新的活动。你 android:theme="@android:style/Theme.Dialog在清单文件中使用了吗?

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

于 2012-10-26T16:41:07.610 回答
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();
于 2012-10-29T10:12:15.803 回答