android - 如何设计具有圆角和阴影的弹出窗口

时间:2015-11-14 13:45:26

标签: android android-layout android-popupwindow

在将此标记为重复之前,我想说我已经浏览了thisthisthis等SO帖子。但我没有找到适合我的任何解决方案。

我正在尝试使用PopupWindow()创建一个弹出窗口。我想使用圆角和回退阴影(如FloatingActionButton下的阴影)设计此窗口。

我遇到了一些解决方案,比如定义带圆角的形状,然后将其用作background。但是这个解决方案存在这个问题。

  

这不起作用。正如您设置的那样,它是背景,因此内容会覆盖圆角,如果您有内容绘制角落,则不会看到它们被舍入。 - (posted here

我认为这不是一个理想的解决方案。还有另一种创建第二个链接上提供的自定义布局类的解决方案。但是使用它我遇到了一些问题,例如我的EditText在这个布局中没有在输入时更新它的文本。一旦我关闭键盘,它就会更新。此外,该解决方案还存在一些性能问题。

在android中设计弹出窗口没有真正有用的SO帖子。我想知道是否有标准的方法可以有效地做到这一点,如果可能的话。

对于阴影效果,我看到this帖子,并尝试了它提供的不同解决方案。但他们给了我不同设备的不同结果。我还想知道是否有可能的标准和有效的解决方案。

请帮忙。 谢谢。

2 个答案:

答案 0 :(得分:1)

创建一个9补丁背景,如下所示:

enter image description here

内容填充不会让它传播到角落外。

答案 1 :(得分:0)

要弹出圆角,请使用与当前活动的基色匹配的背景颜色定义父版面。然后定义一个子布局,其所有参数都与父布局相同。然后使用定义圆角形状属性的资源文件设置背景。