web-dev-qa-db-ja.com

Androidビュー間に水平線を引きます

私のレイアウトは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:orientation="vertical" >

<TextView
        Android:id="@+id/textView1"
        style="@style/behindMenuItemLabel"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_marginTop="10dp"
        Android:text="Twitter Feeds"
        Android:textStyle="bold" />

    <ListView
        Android:id="@+id/list"
        Android:layout_width="350dp"
        Android:layout_height="50dp" />

    <TextView
        Android:id="@+id/textView1"
        style="@style/behindMenuItemLabel1"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_marginTop="1dp"
        Android:text="FaceBook Feeds" />

    <ListView
        Android:id="@+id/list1"
        Android:layout_width="350dp"
        Android:layout_height="50dp" />

</LinearLayout>

私の要件は、TextViewListViewの間にHorizo​​ntalの線を引くことです

誰も助けてもらえますか?

87
String

TextViewListViewの間に銀色の灰色の線を描画します

<TextView
    Android:id="@+id/textView1"
    style="@style/behindMenuItemLabel1"
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_marginTop="1dp"
    Android:text="FaceBook Feeds" />

<View
    Android:layout_width="match_parent"
    Android:layout_height="2dp"
    Android:background="#c0c0c0"/>

<ListView
    Android:id="@+id/list1"
    Android:layout_width="350dp"
    Android:layout_height="50dp" />
240

新しい軽量ビューSpaceを使用して、仕切りを描画する必要があります。 Spaceの代わりにViewを使用すると、レイアウトの読み込みが速くなります。

水平分割線:

<Android.support.v4.widget.Space
        Android:layout_height="1dp"
        Android:layout_width="match_parent" /> 

縦仕切り:

<Android.support.v4.widget.Space
        Android:layout_height="match_parent"
        Android:layout_width="1dp" />

背景を追加することもできます。

<Android.support.v4.widget.Space
        Android:layout_height="match_parent"
        Android:layout_width="1dp"
        Android:background="?android:attr/listDivider"/>

使用例:

....
<TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="One"/>

<Android.support.v4.widget.Space
    Android:layout_height="match_parent"
    Android:layout_width="1dp"
    Android:background="?android:attr/listDivider"/>

<TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="Two"/>

<Android.support.v4.widget.Space
    Android:layout_height="match_parent"
    Android:layout_width="1dp"
    Android:background="?android:attr/listDivider"/>

<TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:text="Three"/>
....

Spaceを使用するには、build.gradleに依存関係を追加する必要があります。

dependencies {
    compile 'com.Android.support:support-v4:22.1.+'
}

ドキュメント https://developer.Android.com/reference/Android/support/v4/widget/Space.html

20
vovahost

分離したいビュー間のレイアウトに次のようなものを追加します。

  <View
       Android:id="@+id/SplitLine_hor1"
       Android:layout_width="match_parent"
       Android:layout_height= "2dp"
       Android:background="@color/gray" />

それが役に立てば幸い :)

17
zozelfelfo

一度作成して、必要な場所で使用することをお勧めします。これをstyles.xmlに追加します:

<style name="Divider">
    <item name="Android:layout_width">match_parent</item>
    <item name="Android:layout_height">1dp</item>
    <item name="Android:background">?android:attr/listDivider</item>
</style>

そして、これをXMLコードに追加します。ここでは、行の区切り線が必要です。

<View style="@style/Divider"/>

Toddles_fpが最初にこの質問に答えたのは、 Android Drawing Separator/Divider Line in Layout?

10
onexf

これを試してください

<View
    Android:layout_width="match_parent"
    Android:layout_height="2dp"
    Android:background="?android:attr/listDivider"/>
7
<View
       Android:id="@+id/view"
       Android:layout_width="match_parent"
       Android:layout_height="2dp"
       Android:background="#000000" />
4

このビューをビューの間に配置して、ラインを模倣することができます

<View
  Android:layout_width="fill_parent"
  Android:layout_height="2dp"
  Android:background="#c0c0c0"/>
2
Karan Datwani

これを試してください

<View
    Android:layout_width="match_parent"
    Android:layout_height="1dp"
    Android:background="@Android:color/darker_gray"/>
1
Mostafa Hassan

私のためにこれを試してください

 <View
            Android:layout_width="1dp"
            Android:layout_height="match_parent"
            Android:background="@color/tw_composer />
1
Hiren Patel

コンポーネント間のディバイダーが必要な各親LinearLayoutで、Android:divider="?android:dividerHorizontal"またはAndroid:divider="?android:dividerVerticalを追加します。

LinearLayoutの向きに応じて、適切なものを選択してください。

私が知っているまで、このリソーススタイルはAndroid 4.3から追加されます。

1
Ravi Bhatt

下線のためだけに余分なビューを使用したくない場合。このスタイルをtextViewに追加します。

style="?android:listSeparatorTextViewStyle"

欠点は、次のような追加のプロパティが追加されることです

Android:textStyle="bold"
Android:textAllCaps="true"

これは簡単にオーバーライドできます。

0
deepankar

背景色を指定できるビューで十分です(高さ=数dpi)。実際のコードを見ると、次のとおりです。

        <LinearLayout
            Android:id="@+id/lineA"
            Android:layout_width="fill_parent"
            Android:layout_height="2dp"
            Android:background="#000000" />

どんな種類のViewでも構いません。

---->シンプルなもの

 <TextView
    Android:layout_width="match_parent"
    Android:layout_height="1dp"
    Android:background="#c0c0c0"
    Android:id="@+id/your_id"
    Android:layout_marginTop="160dp" />
0
shreedhar bhat