24

Android テキストビューの周囲に境界線を配置することに関するこの件名を見て 、それを使用しました。しかし今、相対レイアウトに配置されているウィジェットの周りに境界線を置きたいと思います。どうすればいいですか?

4

4 に答える 4

59
  1. res/drawableフォルダーに、新しいファイルを作成しますbackground_border.xml

このファイルでは、ウィジェットの背景を次のように定義します。

<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle" >
    <!-- This is the stroke you want to define -->
    <stroke android:width="1dp" 
            android:color="@color/color_stroke"/>

    <!-- Optional, round your corners -->
    <corners android:bottomLeftRadius="0dp"
             android:topLeftRadius="5dp"
             android:bottomRightRadius="5dp"
             android:topRightRadius="0dp" />

    <!-- Optional, fill the rest of your background with a color or gradient, use transparent if you only want the border to be displayed-->
    <gradient android:startColor="@android:color/transparent"
              android:endColor="@android:color/transparent"
              android:angle="90"/>
</shape>
  1. ウィジェットの背景を、作成したドローアブル構成に設定します

例えば。ボーダーをrelativelayoutに配置したい場合:

<RelativeLayout            
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/background_border"
            android:padding="15dp">
    ...
</RelativeLayout>
于 2015-10-19T10:45:04.473 に答える
1

境界線の背景色と、境界線幅のマージンまたはパディングを取得する FrameLayout を作成し、その FrameLayout を RelativeLayout に配置します。RelativeLayout に直接ではなく、FrameLayout に TextView を配置します。プーフインスタントボーダー。

于 2012-05-03T11:32:35.380 に答える