<LinearLayout
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:orientation="vertical" android:background="@drawable/settings_border" android:padding="1dp"
android:layout_marginLeft="15dip" android:layout_marginRight="15dip" android:layout_marginTop="5dip">
<RelativeLayout android:id="@+id/map_refresh"
android:layout_height="fill_parent" android:layout_width="wrap_content"
android:background="@drawable/settings_selector_up"
android:padding="15dp">
<TextView android:id="@+id/Text1"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:text="Map refresh period">
</TextView>
<TextView android:id="@+id/TextView09"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:text="1 min"
android:layout_alignParentRight="true"
android:paddingRight="5dp">
</TextView>
</RelativeLayout>
<RelativeLayout android:id="@+id/own_location"
android:layout_height="fill_parent" android:layout_width="wrap_content"
android:padding="15dp"
android:background="@drawable/settings_selector_mid">
<TextView android:id="@+id/Text1"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:text="Own location update period">
</TextView>
<TextView android:id="@+id/TextView09"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:text="1 min"
android:layout_alignParentRight="true"
android:paddingRight="5dp">
</TextView>
</RelativeLayout>
我想在relativelayout中只设置底部边框。我想显示listview样式但不使用listview。让我们说每个listitem是相对布局的。我想只设置底部边框,所以它看起来像listview的分隔符。
答案 0 :(得分:12)
我希望我理解你说的话。
在res文件夹中的创建一个名为drawable的新文件夹(如果你还没有)
创建一个名为“borders.xml”的xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<gradient android:angle="90" android:centerColor="#6da23f" android:endColor="#8bc45d" android:startColor="#2f481c" />
<stroke android:width="2dp" android:color="#999999" />
<padding android:bottom="4dp" android:left="3dp" android:right="3dp" android:top="6dp" />
<corners android:radius="10px"/>
</shape>
</item>
<item>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<gradient android:angle="90" android:centerColor="#6da23f" android:endColor="#8bc45d" android:startColor="#4c8a39" />
<stroke android:width="1dp" android:color="#FFFFFF" />
<padding android:bottom="4dp" android:left="3dp" android:right="3dp" android:top="6dp" />
<corners android:radius="10px"/>
</shape>
</item>
</selector>
您可以根据需要进一步编辑。 然后从Outline中选择布局并单击Background properties,并选择您创建的边框xml。
这将为所有4创建边框。或者,您可以添加一个简单的
<View android:layout_width="1dip"
android:layout_height="fill_parent"
android:background="#FFFFFF" />
将其添加到布局的底部,然后根据自己的喜好更改颜色/尺寸。
答案 1 :(得分:10)
出于某种原因,其他解决方案对我来说并不起作用 - 无论我如何更改它,所有边界都会显示出来。这很有效:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape
android:shape="rectangle">
<stroke android:width="1dp" android:color="@color/gray" />
<solid android:color="@color/gray" />
</shape>
</item>
<item android:bottom="1dp">
<shape
android:shape="rectangle">
<stroke android:width="1dp" android:color="@color/white" />
<solid android:color="@color/white" />
</shape>
</item>
</layer-list>
边框的颜色为灰色,容器的背景为白色(我的示例中为LinearLayout)。您只需更改第二项以使边框更粗或在顶部/左/右边框。
这就是布局xml的样子:
<LinearLayout
android:id="@+id/searchWrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:background="@drawable/bottom_gray_border"
android:layout_alignParentTop="true">
<EditText
android:id="@+id/searchEditText"
style="@style/EditTextSearch"
android:hint="@string/find"
android:layout_marginLeft="5dp"/>
</LinearLayout>
我从这里得到了这个想法:Is there an easy way to add a border to the top and bottom of an Android View?
答案 2 :(得分:8)
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<stroke
android:width="1dip"
android:color="#FF8000" />
<solid
android:color="#00FFFFFF"
android:paddingLeft="10dip"
android:paddingTop="10dip"/>
<corners android:radius="10px"/>
<padding
android:left="10dip"
android:top="10dip"
android:right="10dip"
android:bottom="10dip" />
</shape>
您可以将此borderframe.xml
保存在res / drawable文件夹中(如果它尚不存在则创建它),并像这样引用它:android:background="@drawable/borderframe"
。
答案 3 :(得分:0)
显示边框的一种简单方法是创建水平LinearLayout
,并根据所需的边框设置其背景颜色和高度。