Android如何制作复杂的背景和边框

4
我想在我的Android弹出窗口中做像iPad上看到的复杂边框。
例如: 我在这里看到的是一个厚重的渐变蓝色边框,顶部具有透明度。以及一个从背景进一步延伸的投影。
在Android中,我尝试使用形状对象来制作半复杂的背景。这只是一个白色边框。
<?xml version="1.0" encoding="utf-8"?>
<shape
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">
   <solid
       android:color="#303030"/>
 <stroke
    android:width="1dip"
    android:color="#ffffff"
    />
  </shape>   

但是这些方法有限,因为它们无法接受图像作为变量。我猜在Android中做这种边框可能会非常复杂。也许可以使用相对布局或表格来制作具有背景片段的视图。有点像HTML布局。
在Android中有更好的方法来制作复杂而精细的边框吗?我想做一个精美的皮肤,就像iOS有一个统一的美学默认皮肤。

2
你可能需要使用9-patch图像来创建这样的边框。如果您想深入定制UI,我建议您研究一下如何创建它们。 - dymmeh
1个回答

5

是的,这很复杂,但好的一点是你可以重用你为应用程序中的所有组件绘制的布局,因此你基本上只需要为每个“样式”做一次。

以下是我在学习Android样式方面学到的几点:

http://blog.donnfelker.com/2011/08/01/android-rounded-corners-with-a-beveldrop-shadow/

http://blog.stylingandroid.com/archives/378

Custom ImageView with drop shadow

Android: Using linear gradient as background looks banded

这是我用于投影阴影的9-patch图片(我认为它是从上面的帖子中获取的)

alt text


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接