1. ホーム
  2. android

[解決済み] 水平なLinearLayoutに(垂直な)仕切りを追加する方法は?

2023-01-04 12:38:38

質問

水平リニアレイアウトに仕切りを追加しようとしていますが、うまくいきません。仕切りが表示されないだけです。私は Android の全くの初心者です。

これは私のレイアウトXMLです。

<RelativeLayout 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"
    tools:context=".MainActivity" >
    
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/llTopBar"
        android:orientation="horizontal"
        android:divider="#00ff00"
        android:dividerPadding="22dip"
        android:showDividers="middle">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="asdf" />
            
        <Button
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="asdf" />
    
    </LinearLayout>
    
</RelativeLayout>

どのように解決するのですか?

水平方向の仕切りに使用します。

<View
    android:layout_width="1dp"
    android:layout_height="match_parent"
    android:background="@color/honeycombish_blue" />

そしてこれが縦の仕切り

<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="@color/honeycombish_blue" />

または、LinearLayoutの仕切りが使える場合は、水平方向の仕切りとして

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <size android:height="1dp"/>
    <solid android:color="#f6f6f6"/>
</shape>

で、LinearLayoutでは

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:divider="@drawable/divider"
    android:orientation="vertical"
    android:showDividers="middle" >

もし、縦方向の仕切りを使いたい場合は android:height="1dp" を使用します。 android:width="1dp"

ヒント 忘れちゃいけないこと その android:showDividers の項目があります。