我有一个带边框的布局。我的问题是,在边框和其他布局之间有一个空格,但我不知道它来自哪里。
我的布局看起来像
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/BackgroundLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- Layout come's here :) -->
</LinearLayout>
BackgroundLayout的样式如下:
<style name="BackgroundLayout">
<item name="android:background">@drawable/frame_border</item>
<item name="android:orientation">vertical</item>
<item name="android:paddingLeft">@dimen/line_width</item>
<item name="android:paddingRight">@dimen/line_width</item>
</style>
和frame_border(是一个drawable.xml)看起来像:
<?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="@dimen/line_width"
android:color="@color/background_color" />
<solid android:color="@color/background_color" />
</shape>
</item>
<item
android:left="@dimen/line_width"
android:right="@dimen/line_width"
android:bottom="@dimen/line_width">
<bitmap android:src="@drawable/background" android:gravity="fill_horizontal|fill_vertical" />
</item>
</layer-list>
@ dimen / line_width的大小为5dp。
我的风格的填充与边框的大小相同。所以应该有任何不同(希望如此)。
修改 为了阐述这个问题,我创建了一个新视图(见下文)。背景保持不变。视图(LinearLayout是黑色区域):
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frame_container"
style="@style/BackgroundLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/black"
android:orientation="vertical"
android:weightSum="1" >
</LinearLayout>
</FrameLayout>
到目前为止,我的解决方案是将背景图像位置从@ dimen / line_width(5dp)更改为5.5dp。不满意,但它确实有效。
<item
android:left="5.5dp"
android:right="5.5dp"
android:bottom="5.5dp">
<bitmap android:src="@drawable/background" android:gravity="fill_vertical|fill_horizontal"/>
</item>
答案 0 :(得分:0)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/border"
android:padding="4dip"
tools:context=".MainActivity" >
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:divider="@drawable/horizontal_divider"
android:dividerHeight="4dp" >
</ListView>
</LinearLayout>
background.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#fd9f8d" />
<stroke android:width="4dip" android:color="#BDBCBC"/>
</shape>
horizontal_divider.xml
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="line">
<stroke
android:color="#FFFFFF"
android:width="2dip"
/>
<size
android:height="1dip"
/>
</shape>
答案 1 :(得分:0)
来自:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/BackgroundLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- Layout come's here :) -->
</LinearLayout>
你的风格有填充。检查并发布结果。