我创建了一个矩形形状,以便将其用作列表项背景。我的问题是笔划不遵循视图边框,而是让+/-笔划宽度的边距。
下面是我的形状的xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadiusRatio="1"
android:shape="rectangle" >
<solid android:color="@color/deminoir" />
<stroke
android:width="4dp"
android:color="@color/deminoir" />
<padding
android:bottom="4dp"
android:left="4dp"
android:right="4dp"
android:top="4dp" />
</shape>
下面是我的风格的xml:
<style name="champ">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:orientation">vertical</item>
<item name="android:background">@drawable/bordurechamp</item>
</style>
最后是我的列表项视图的xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/champ" >
<!-- titre -->
<TextView
android:id="@+id/titre"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/deminoir"
android:padding="5dip"
android:text="titre"
android:textAppearance="@android:style/TextAppearance.Large" />
<!-- Contenu -->
<TextView
android:id="@+id/valeur"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:padding="5dip"
android:text="valeur"
android:textAppearance="@android:style/TextAppearance.Medium"
/>
</LinearLayout>
3条答案
按热度按时间vaqhlq811#
用
<item>...</item>
标记包围shape
,并设置<item>
的top
、bottom
、left
和right
属性(带有所需的***边距值)***。然后用<layer-list>
Package 整个item
。如下所示:padding
(而不是margin
),请参阅下面的Ahmad Aghazadeh answer。*jexiocij2#
您可以使用填充透明代替边距
xqnpmsa83#
我有同样的问题,并解决它这样:
它给出了两个具有两个笔画的可绘制对象。第一个可绘制对象具有宽度为(宽度+所需笔画的边距)的笔画。第二个可绘制对象仅具有宽度为所需边距的可见笔画。