如何在视图上绘制边框和分隔符

时间:2011-11-03 18:29:30

标签: android android-layout

我正在开发一个App,我需要在View上绘制边框和分隔符,比如eBay应用程序。

我认为形状和视图的组合与1dp。还有另一种简单的方法吗?

ebay App. 非常感谢。

3 个答案:

答案 0 :(得分:1)

为外边框创建9补丁图像。使用它作为背景资源,它将为您提供带有实线边框的圆角。对于分隔符,您可以创建一个简单的视图,并拥有另一个背景资源,这是一个简单的图像,其颜色与9补丁中的边框颜色相同。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
        android:orientation="vertical">

    <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/roundedborder"
            android:orientation="vertical">

        <!-- Put Saved Searches display code here.  Probably LinearLayout/horizonal -->
        <TextView
                android:layout_width="fill_parent"
                android:layout_height="1dp"
                android:background="@drawable/simpleborder"
                android:layout_margin="3dp"/> <!-- Spacer! -->

        <!-- Put Favorite sellers display code here.  Probably LinearLayout/horizonal -->

    </LinearLayout>

</LinearLayout>

答案 1 :(得分:0)

或者您可以在底部使用边距,对于位于空白区域上方的视图。

android:layout_marginBottom="1dp"

答案 2 :(得分:0)

如果你的意思是如何将视图组合在一起,使得一些视图在顶部有弯曲的角落,其他的在底部加上填充或边距,而其他的根本没有弯角,那么这是一种方法。< / p>

如果您正在将ListView与ListAdapter一起使用,那么当覆盖getView(int position, View convertView, ViewGroup parent)时,应从position确定应返回哪个视图并将其返回。您可以在返回之前更改视图的填充和边距。

此外,如果您覆盖getItemViewType(int position)并为特定位置返回常量表示形式的视图类型将更有效,这样Android可以重复使用视图,您不必为新的扩展或更改属性每一次。