Android-如何创建一个像market或ShopSavy一样的用户界面
最近,android market和ShopSavy进行了UI大修。结果是一个列表似乎滑到一个带有按钮的弧形顶部区域下。顶部部分似乎在列表上投下了一个轻微的阴影,列表本身有一个与列表其余部分不同的彩色标题。这是安卓用户界面外观的一大改进,外观更加专业 那么,如何在带有阴影的弯曲顶部下滑动呢Android-如何创建一个像market或ShopSavy一样的用户界面,android,user-interface,interface,google-play,Android,User Interface,Interface,Google Play,最近,android market和ShopSavy进行了UI大修。结果是一个列表似乎滑到一个带有按钮的弧形顶部区域下。顶部部分似乎在列表上投下了一个轻微的阴影,列表本身有一个与列表其余部分不同的彩色标题。这是安卓用户界面外观的一大改进,外观更加专业 那么,如何在带有阴影的弯曲顶部下滑动呢 谢谢大家制作market应用程序的开发人员发表了一篇很棒的博客文章,你可以在这里找到 在ShopSavy,我们采取了一种简单得多的方法,取得了大致相同的结果。我们使用两个子布局相互重叠的框架布局。顶部布局有一
谢谢大家制作market应用程序的开发人员发表了一篇很棒的博客文章,你可以在这里找到 在ShopSavy,我们采取了一种简单得多的方法,取得了大致相同的结果。我们使用两个子布局相互重叠的框架布局。顶部布局有一个包含阴影的自定义图像作为背景(我们有一个很棒的图形家伙)。底部布局只是一个列表视图,它的顶部有一个边距,可以将其放置在我们想要的位置。它的伪代码如下所示
<FrameLayout>
<!-- Listview that sits under another view -->
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ListView
android:id="@+id/backgroundlist"
android:layout_marginTop="150dp"
android:layout_height="fill_parent"
android:layout_width="fill_parent" />
</LinearLayout>
<!-- view that sits on top -->
<LinearLayout
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:background="@drawable/curvedimage"
android:orientation="vertical"
>
<!-- headers, buttons and other stuff -->
<LinearLayout
.....
</LinearLayout>
</FrameLayout>
哇,我不知道你们在这里。从那些真正做到这一点的人那里得到回复真的很好,回复本身也是如此。我得画一些测试图,然后试试这个。谢谢你的回复,布莱恩
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:text="@string/scans_right_now"
android:layout_height="61dp"
android:layout_width="fill_parent"
android:gravity="bottom|center_horizontal"
android:paddingBottom="3dp"
android:textColor="#8b8b8b"
android:background="#d3d3d3"
android:textStyle="bold"
android:shadowColor="#FFFFFF"
android:shadowDx="0.0"
android:shadowDy="1.0"
android:shadowRadius="1.0" />
ListView list = (ListView) findViewById(R.id.backgroundlist);
View recentScansHeader = getLayoutInflater().inflate(R.layout.recent_products_header, recentViewList, false);
list.addHeaderView(recentScansHeader);