列の仕切りのあるテーブルを作成したいと思います。列を縦棒の画像で分割したい。これを実現するために、"Android:divider="@drawable/abc"
を使用しましたが、機能しません。以下は同じための私のxmlファイルです:
<TableLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="horizontal"
Android:stretchColumns="*"
Android:padding="5dip"
Android:divider="@drawable/tracking_green"
>
<TableRow >
<TextView
Android:id="@+id/retaileritem1"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_weight="1"
Android:text="xxxxxxx" />
<TextView
Android:id="@+id/retaileritem2"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_weight="1"
Android:text="xxxxxxx" />
<ImageView
Android:id="@+id/retailerimage1"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_weight="1"
Android:src="@drawable/tracking_green" />
</TableRow>
Android:showDividers = "middle"を追加します
<TableLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="horizontal"
Android:stretchColumns="*"
Android:padding="5dip"
Android:divider="@drawable/tracking_green"
Android:showDividers="middle"
>
これが私がやった方法です!
[〜#〜]コード[〜#〜]
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:orientation="vertical" >
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical"
Android:padding="5dp" >
<TextView
Android:id="@+id/textView4"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:layout_weight="1"
Android:paddingBottom="50dp"
Android:text="Salary Details"
Android:textAppearance="?android:attr/textAppearanceLarge"
Android:textStyle="bold" />
<TableLayout
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:layout_weight="1"
Android:shrinkColumns="0"
Android:stretchColumns="1" >
<TableRow
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_gravity="center_vertical" >
<TextView
Android:layout_gravity="center_vertical"
Android:gravity="left"
Android:text="Financial Year"
Android:textColor="@Android:color/white"
Android:textSize="14sp"
Android:textStyle="bold" />
<Spinner
Android:id="@+id/spnSearchByCity"
Android:layout_width="fill_parent"
Android:layout_height="40dp"
Android:layout_gravity="center_vertical"
Android:entries="@array/year"
tools:listitem="@Android:layout/simple_spinner_dropdown_item" />
</TableRow>
</TableLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="#d30059"
Android:orientation="vertical"
Android:paddingTop="50dp" >
<TableLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content" >
<TableRow
Android:id="@+id/tableRow1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@Android:color/white" >
<TextView
Android:id="@+id/textView1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="1dp"
Android:layout_marginLeft="1dp"
Android:layout_marginTop="1dp"
Android:layout_weight="1"
Android:background="#d30059"
Android:gravity="center"
Android:text="Month"
Android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
Android:id="@+id/textView2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="1dp"
Android:layout_marginLeft="1dp"
Android:layout_marginTop="1dp"
Android:layout_weight="1"
Android:background="#d30059"
Android:gravity="center"
Android:text="Net Salary"
Android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
Android:id="@+id/textView3"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="1dp"
Android:layout_marginLeft="1dp"
Android:layout_marginRight="1dp"
Android:layout_marginTop="1dp"
Android:layout_weight="1"
Android:background="#d30059"
Android:gravity="center"
Android:text="Click"
Android:textAppearance="?android:attr/textAppearanceMedium" />
</TableRow>
<TableRow
Android:id="@+id/tableRow2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@Android:color/white" >
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="1dp"
Android:layout_marginLeft="1dp"
Android:layout_weight="1"
Android:background="#d30059"
Android:gravity="center"
Android:text="Jan"
Android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="1dp"
Android:layout_marginLeft="1dp"
Android:layout_weight="1"
Android:background="#d30059"
Android:gravity="center"
Android:text="11305"
Android:textAppearance="?android:attr/textAppearanceMedium" />
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginBottom="1dp"
Android:layout_marginLeft="1dp"
Android:layout_marginRight="1dp"
Android:layout_weight="1"
Android:background="#d30059"
Android:gravity="center"
Android:orientation="vertical" >
<TextView
Android:id="@+id/txtDetailsOneId"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_weight="1"
Android:background="#000000"
Android:text="DETAILS"
Android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
</TableRow>
<TableRow
Android:id="@+id/tableRow3"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:background="@Android:color/white" >
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="1dp"
Android:layout_marginLeft="1dp"
Android:layout_weight="1"
Android:background="#d30059"
Android:gravity="center"
Android:text="Feb"
Android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_marginBottom="1dp"
Android:layout_marginLeft="1dp"
Android:layout_weight="1"
Android:background="#d30059"
Android:gravity="center"
Android:text="11405"
Android:textAppearance="?android:attr/textAppearanceMedium" />
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginBottom="1dp"
Android:layout_marginLeft="1dp"
Android:layout_marginRight="1dp"
Android:layout_weight="1"
Android:background="#d30059"
Android:gravity="center"
Android:orientation="vertical" >
<TextView
Android:id="@+id/txtDetailsTwoId"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_weight="1"
Android:background="#000000"
Android:text="DETAILS"
Android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
</TableRow>
<TableRow
Android:id="@+id/tableRow4"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content" >
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical"
Android:padding="50dp" >
<Button
Android:id="@+id/btnMainMenuId"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_gravity="center"
Android:layout_marginTop="5dp"
Android:text="MAIN MENU"
Android:textColor="@Android:color/white"
Android:textSize="12sp" />
</LinearLayout>
</LinearLayout>
スナップショット
私が欲しかったのはこのようなテーブルです
これをstyles.xmlに追加しました
<style name="Divider">
<item name="Android:layout_width">1dip</item>
<item name="Android:layout_height">match_parent</item>
<item name="Android:background">@color/divider_color</item>
</style>
<style name="Divider_invisible">
<item name="Android:layout_width">1dip</item>
<item name="Android:layout_height">match_parent</item>
</style>
Then in my table layout
<TableLayout
Android:id="@+id/table"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="horizontal"
Android:stretchColumns="*" >
<TableRow
Android:id="@+id/tableRow1"
Android:layout_width="fill_parent"
Android:layout_height="match_parent"
Android:background="#92C94A" >
<TextView
Android:id="@+id/textView11"
Android:paddingBottom="10dp"
Android:paddingLeft="5dp"
Android:paddingRight="5dp"
Android:paddingTop="10dp" />
<LinearLayout
Android:layout_width="1dp"
Android:layout_height="match_parent" >
<View style="@style/Divider_invisible" />
</LinearLayout>
<TextView
Android:id="@+id/textView12"
Android:paddingBottom="10dp"
Android:paddingLeft="5dp"
Android:paddingRight="5dp"
Android:paddingTop="10dp"
Android:text="@string/main_wo_colon"
Android:textColor="@color/white"
Android:textSize="16sp" />
<LinearLayout
Android:layout_width="1dp"
Android:layout_height="match_parent" >
<View style="@style/Divider" />
</LinearLayout>
<TextView
Android:id="@+id/textView13"
Android:paddingBottom="10dp"
Android:paddingLeft="5dp"
Android:paddingRight="5dp"
Android:paddingTop="10dp"
Android:text="@string/side_wo_colon"
Android:textColor="@color/white"
Android:textSize="16sp" />
<LinearLayout
Android:layout_width="1dp"
Android:layout_height="match_parent" >
<View style="@style/Divider" />
</LinearLayout>
<TextView
Android:id="@+id/textView14"
Android:paddingBottom="10dp"
Android:paddingLeft="5dp"
Android:paddingRight="5dp"
Android:paddingTop="10dp"
Android:text="@string/total"
Android:textColor="@color/white"
Android:textSize="16sp" />
</TableRow>
<!-- display this button in 3rd column via layout_column(zero based) -->
<TableRow
Android:id="@+id/tableRow2"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="#6F9C33" >
<TextView
Android:id="@+id/textView21"
Android:padding="5dp"
Android:text="@string/servings"
Android:textColor="@color/white"
Android:textSize="16sp" />
<LinearLayout
Android:layout_width="1dp"
Android:layout_height="match_parent" >
<View style="@style/Divider" />
</LinearLayout>
..........
.......
......
この質問に答えるのはかなり遅いですが、これが正しい方法です。
行間の仕切りの場合:
<TableLayout
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:divider="@color/colorPrimary"
Android:showDividers="middle">
および列間の仕切りの場合:
<TableRow
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:divider="@color/colorPrimary"
Android:showDividers="middle">
説明:
<TableLayout>
の仕切りタグは、直接の子の間に仕切りを配置するために使用されます。つまり、Rowsです。
<TableRow>
の仕切りタグは、直接の子の間に仕切りを配置するために使用されます。つまり、Columns
垂直仕切りのあるリストでは、次のようにImageViewを使用します。
<ImageView
Android:id="@+id/divider"
Android:contentDescription="@string/divider"
Android:layout_width="1dp"
Android:layout_height="65dp"
Android:layout_marginTop="8sp"
Android:background="#3B3B3B"
/>
リストに要素がないときに仕切りが表示されないようにするには、Android:background="#3B3B3B"
行を削除して、プログラムで設定します。
((ImageView) view.findViewById(R.id.divider)).setBackgroundColor(Color.parseColor("#3B3B3B"));
2番目のtextviewmarginleft = 1dpを設定してみてください。分周器を設定したくない場合marginleft = 0dp
tablelayoutはこれを直接提供しないため、考えられる1つの方法はframelayoutである可能性があります。目的のテーブルを別のbackground_tableの上に配置します。この場合、行は1つだけで、高さ/幅は「match_parent」です。必要なlayout_weightsで3つの列を追加します。 2番目の列に垂直仕切り-imageviewを追加します。メインテーブルも、見栄えを良くするために、その行で同じlayout_weihts + marginを使用する必要があります。
水平分割は、「分離される」テーブル行の間にイメージビューを追加することで実現できる可能性があります。
まだテストされていません、ただのアプローチ
ornay