web-dev-qa-db-ja.com

LinearLayoutに上下の境界線のみを追加します

Linearlayoutに下と上の境界線のみを追加したいと思います。私はこれをしようとしました:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android" >

<item
    Android:bottom="1dp"
    Android:top="1dp">
    <shape Android:shape="rectangle">
        <solid Android:color="#FFFFFF" />
        <stroke
            Android:width="1dp"
            Android:color="#000" />
    </shape>
</item>
</layer-list>

ただし、図形の周囲に境界線が追加されます。

私を手伝ってくれますか ?

19
wawanopoulos

これを作成します2つのファイルと置きますこのコード。境界線の上下の境界線を設定できます。

main.xml

<TextView
      Android:text="This is textline"
      Android:background="@drawable/border_set"
/>

border_set.xml

このファイルはフルパスproject_root/res/drawable/border_set.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="1dp" Android:color="#FF000000" />
            <solid Android:color="#FFDDDDDD" />

        </shape>
   </item>

   <item Android:top="1dp" Android:bottom="1dp"> 
      <shape 
        Android:shape="rectangle">
            <stroke Android:width="1dp" Android:color="#000" />
            <solid Android:color="#FFFFFF" />
        </shape>
   </item>

</layer-list>
23
Jay Patel

このドロウアブルを作成し、背景として使用できると思います:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">
   <item>
        <shape Android:shape="rectangle" >
            <solid Android:color="#000"/>
        </shape>
    </item>
    <item Android:bottom="1dp" Android:top="1dp">
        <shape Android:shape="rectangle" >
            <solid Android:color="#FFFFFF" />
        </shape>
    </item>
</layer-list>

最初に枠線の色で長方形を描画し、次にその上に背景色の長方形を置き、上部と下部に1dpを残さないと考えてください。

28
Tony Vu

これが解決策です。背景が透明でも機能します。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android">

    <item Android:left="-2dp"  Android:right="-2dp">
        <shape Android:shape="rectangle">
            <stroke Android:width="2dp" Android:color="@color/borderColor" />
            <solid Android:color="@color/backgroundColor" />
        </shape>
    </item>

</layer-list>
20
dzikovskyy

これが最も簡単な方法だと思います。

<View
    Android:layout_width="match_parent"
    Android:layout_height="2dp"
    Android:background="#000000" />
8
doctorram

私のバージョンはこれで、上下の境界線のみが表示され、左右の境界線は表示されません。そして背景は透明です。

<?xml version="1.0" encoding="utf-8"?>

<layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android" 
    Android:layout_width="match_parent" 
    Android:layout_height="1dp">

    <item
        Android:left="-1dp"
        Android:right="-1dp"
        Android:top="-1dp"
        Android:bottom="1dp">
        <shape
            Android:shape="rectangle">
            <stroke
                Android:width="1dp"
                Android:color="@color/BlueGrey_colorPrimary" />
            <solid Android:color="@Android:color/transparent" />
        </shape>
    </item>

</layer-list>
6
Sercho

これを実現する簡単な方法:

  • レイアウトの下部または上部にテキストビューを追加します。
  • TextViewの幅を「match_parent」に設定します
  • TextViewの高さを約「1dp」に設定するか、希望する厚さを見つけます
  • TextViewの背景を境界線の色に設定します

これがお役に立てば幸いです!

5
Keith Davis

簡単だ。このような3つの図形を描画します。

<?xml version="1.0" encoding="utf-8"?>
  <layer-list xmlns:Android="http://schemas.Android.com/apk/res/Android" >

    <item>
        <shape Android:shape="rectangle" >
            <solid Android:color="@color/menu_line_separator_in" />
        </shape>
    </item>
    <item Android:bottom="1.5dp">
        <shape Android:shape="rectangle" >
            <solid Android:color="@color/menu_line_separator_out" />
        </shape>
    </item>
    <item Android:top="1.5dp">
        <shape Android:shape="rectangle" >
            <solid Android:color="@color/menu_line_separator_out" />
        </shape>
    </item>

</layer-list>
1
extmkv

このリンクをたどることができます Android View? の上下に境界線を追加する簡単な方法はありますか?

このリンクから解決することを期待しています。また、あなたは解決することができます 下を除いて線形レイアウトの周りに境界線を追加する方法?

1
user3167588