如何在Android中获得干净的上角关闭按钮和格式按钮?
我有两个问题 1.)现在我有一个弹出窗口,它的右上角显示了一个X,但我无法让它显示在弹出窗口的右上角。我可以做什么来实现所需的“X”按钮 目前: 期望的: 2.)我的“顶部按钮”和“底部按钮”占据了整个屏幕的宽度,即使我需要包装内容。有没有办法使按钮更窄?(实际上,我希望两个按钮都窄一些,但即使一个按钮的文本比另一个按钮的文本长,宽度仍然相同)。这与我设计XML的方式有关吗?理想情况下,我希望在弹出窗口中有一个背景图像,但当我放入图像时,图像也会进入3个文本视图中,这让我觉得我没有一个很好的XML文件。有人知道如何解决这个问题吗?谢谢 layout/popup.xml如何在Android中获得干净的上角关闭按钮和格式按钮?,android,Android,我有两个问题 1.)现在我有一个弹出窗口,它的右上角显示了一个X,但我无法让它显示在弹出窗口的右上角。我可以做什么来实现所需的“X”按钮 目前: 期望的: 2.)我的“顶部按钮”和“底部按钮”占据了整个屏幕的宽度,即使我需要包装内容。有没有办法使按钮更窄?(实际上,我希望两个按钮都窄一些,但即使一个按钮的文本比另一个按钮的文本长,宽度仍然相同)。这与我设计XML的方式有关吗?理想情况下,我希望在弹出窗口中有一个背景图像,但当我放入图像时,图像也会进入3个文本视图中,这让我觉得我没有一个很好的XM
<?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有一个定义良好的界面,可以关闭对话框和活动——后退按钮。不要试图改变用户期望的行为。