Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android中获得干净的上角关闭按钮和格式按钮?_Android - Fatal编程技术网

如何在Android中获得干净的上角关闭按钮和格式按钮?

如何在Android中获得干净的上角关闭按钮和格式按钮?,android,Android,我有两个问题 1.)现在我有一个弹出窗口,它的右上角显示了一个X,但我无法让它显示在弹出窗口的右上角。我可以做什么来实现所需的“X”按钮 目前: 期望的: 2.)我的“顶部按钮”和“底部按钮”占据了整个屏幕的宽度,即使我需要包装内容。有没有办法使按钮更窄?(实际上,我希望两个按钮都窄一些,但即使一个按钮的文本比另一个按钮的文本长,宽度仍然相同)。这与我设计XML的方式有关吗?理想情况下,我希望在弹出窗口中有一个背景图像,但当我放入图像时,图像也会进入3个文本视图中,这让我觉得我没有一个很好的XM

我有两个问题

1.)现在我有一个弹出窗口,它的右上角显示了一个X,但我无法让它显示在弹出窗口的右上角。我可以做什么来实现所需的“X”按钮

目前:

期望的:

2.)我的“顶部按钮”和“底部按钮”占据了整个屏幕的宽度,即使我需要包装内容。有没有办法使按钮更窄?(实际上,我希望两个按钮都窄一些,但即使一个按钮的文本比另一个按钮的文本长,宽度仍然相同)。这与我设计XML的方式有关吗?理想情况下,我希望在弹出窗口中有一个背景图像,但当我放入图像时,图像也会进入3个文本视图中,这让我觉得我没有一个很好的XML文件。有人知道如何解决这个问题吗?谢谢

layout/popup.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/dialog"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" >

<TextView
    android:id="@+id/popup_header"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="15dp"
    android:text="@string/popup_message"
    android:textSize="20sp"
    android:textStyle="bold"
    android:textColor="#464646" >
</TextView>

<TextView
    android:id="@+id/popup_text1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/popup_header"
    android:gravity="center_vertical|center_horizontal"
    android:text="@string/popup_message2"
    android:textSize="20sp"
    android:textColor="#464646" >
</TextView>

<TextView
    android:id="@+id/popup_text2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/popup_text1"
    android:text="@string/popup_message3"
    android:textSize="20sp"
    android:textStyle="bold"
    android:textColor="#464646" >
</TextView>

<Button
    android:id="@+id/top_button"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/popup_text2"
    android:layout_centerHorizontal="true"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="12dp"
    android:background="#f000ff"
    android:text="@string/top_button"
    android:textColor="#ffffff"
    android:textSize="20sp" >
</Button>

<Button
    android:id="@+id/bottom_button"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/top_button"
    android:layout_centerHorizontal="true"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="5dp"
    android:background="#f000ff"
    android:text="@string/bottom_button"
    android:textColor="#ffffff"
    android:textSize="20sp" >
</Button>

<Button
    android:layout_alignParentRight="true" android:text="@string/dismiss"
    android:textColor="#FFF" android:background="@drawable/round_button_background"
    android:gravity="center_vertical|center_horizontal"
    android:layout_margin="5dp" android:layout_height="25dp"
    android:layout_width="25dp" android:textSize="12sp" android:textStyle="bold"
    android:onClick="cancelActivity" >
</Button>

</RelativeLayout>

可绘制/圆形按钮\u background.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
    <solid android:color="#9F2200" />
    <stroke android:width="3dp" android:color="#FFF" />
</shape>
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
  <style name="Theme.CustomDialog"     parent="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:padding">4dp</item>
    <item name="android:background">#f8adfc</item>
  </style>
</resources>

values/styles.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="oval">
    <solid android:color="#9F2200" />
    <stroke android:width="3dp" android:color="#FFF" />
</shape>
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
  <style name="Theme.CustomDialog"     parent="@android:style/Theme.Translucent.NoTitleBar.Fullscreen">
    <item name="android:windowIsFloating">true</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:padding">4dp</item>
    <item name="android:background">#f8adfc</item>
  </style>
</resources>

真的
真的
4dp
#f8adfc

第一个问题的解决方案:

正如您希望在左上角显示您提供的链接所建议的图像一样 首先,在声明对话框时为根布局(即Relativelayout)创建一个id,现在编写如下代码

<ImageView
        android:id="@+id/close"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignRight="@+id/dialog"
        android:background="@drawable/close" />

至于第二个问题,我可以看到您声明的按钮在那里有一个宽度匹配的父项。如果这对您没有帮助,请在java代码本身中动态地为弹出窗口指定一个静态宽度
// try this
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <RelativeLayout
        android:id="@+id/dialog"
        android:layout_width="wrap_content"
        android:layout_marginTop="7dp"
        android:layout_marginLeft="7dp"
        android:background="@android:color/white"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/popup_header"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="15dp"
            android:text="@string/popup_message"
            android:textSize="20sp"
            android:textStyle="bold"
            android:textColor="#464646" >
        </TextView>

        <TextView
            android:id="@+id/popup_text1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_below="@+id/popup_header"
            android:gravity="center_vertical|center_horizontal"
            android:text="@string/popup_message2"
            android:textSize="20sp"
            android:textColor="#464646" >
        </TextView>

        <TextView
            android:id="@+id/popup_text2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_below="@+id/popup_text1"
            android:text="@string/popup_message3"
            android:textSize="20sp"
            android:textStyle="bold"
            android:textColor="#464646" >
        </TextView>

        <Button
            android:id="@+id/top_button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/popup_text2"
            android:layout_centerHorizontal="true"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="12dp"
            android:background="#f000ff"
            android:text="@string/top_button"
            android:textColor="#ffffff"
            android:textSize="20sp" >
        </Button>

        <Button
            android:id="@+id/bottom_button"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/top_button"
            android:layout_centerHorizontal="true"
            android:layout_gravity="center_horizontal"
            android:layout_marginTop="5dp"
            android:background="#f000ff"
            android:text="@string/bottom_button"
            android:textColor="#ffffff"
            android:textSize="20sp" />



    </RelativeLayout>
    <Button
        android:textColor="#FFFFFF"
        android:background="@drawable/round_button_background"
        android:layout_height="25dp"
        android:layout_width="25dp"
        android:textSize="12sp"
        android:textStyle="bold"
        android:onClick="cancelActivity"/>
</FrameLayout>

你真的不应该在Android应用程序中添加X-Disclose按钮。Android有一个定义良好的界面,可以关闭对话框和活动——后退按钮。不要试图改变用户期望的行为。