0

拡張可能なリストビューがあります。行は、テキストビューとカスタムチェックボックスで構成されます。チェックボックスのサイズは、textviewのテキストサイズによって異なります。利用可能なサイズは2つだけです。大きいチェックボックスが表示されている場合、行間の差はわずかです。小さいチェックボックスが表示されると、大きく見えます。行間の行の高さを減らすにはどうすればよいですか?

<?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="wrap_content"
 android:id="@+id/childlayout"
 android:orientation="vertical">

    <RelativeLayout
        android:id="@+id/relativeLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_centerVertical="true"
            android:layout_height="wrap_content"
            android:layout_marginLeft="50dp" >

            <TextView
                android:id="@+id/child_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:gravity="center_vertical"
                android:textColor="#000000"/>

        </LinearLayout>

        <CheckBox
            android:id="@+id/multiple_checkbox"
            android:layout_width="wrap_content"
            android:layout_centerVertical="true"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:checked="true"
            android:layout_marginRight="10dp"
            android:button="@drawable/productlists_custom_cb"
            android:clickable="false"
            android:focusable="false"
            android:focusableInTouchMode="false" />
    </RelativeLayout>
</LinearLayout>

相対レイアウトのlayout_heightを30dpに設定すると、行の高さが低くなります。しかし、これは方法ではありません。

これは、小さい方のチェックボックスをオンまたはオフに設定するための.xmlです。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/cbon348" />
<item android:state_checked="false" android:drawable="@drawable/cboff348" />
</selector>

画像のキャンバスは画像自体よりもはるかに大きいと思われるかもしれませんが、そうではありません。

ここに画像の説明を入力してください

編集:

コードを次のように簡略化しましたが、まだ何もありません。

<?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="wrap_content"
 android:id="@+id/childlayout"
 android:orientation="horizontal">

            <TextView
                android:id="@+id/child_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                    android:layout_marginLeft="50dp" 
                android:gravity="center_vertical"
                android:textColor="#000000"/>

        <CheckBox
            android:id="@+id/multiple_checkbox"
            android:layout_width="wrap_content"
                 android:layout_gravity="center_vertical"
                  android:gravity="center_vertical"
            android:layout_height="wrap_content"
            android:checked="true"
            android:layout_marginRight="10dp"
            android:button="@drawable/productlists_custom_cb"
            android:clickable="false"
            android:focusable="false"
            android:focusableInTouchMode="false" />

</LinearLayout>
4

2 に答える 2

1

私の解決策は、チェックボックスの画像をさまざまなサイズで作成し、画面サイズに応じて適切な画像を設定することでした:

     if ((getResources().getConfiguration().screenLayout &  Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE)
     {
        holder.checkBox.setButtonDrawable(R.drawable.productlists_custom_cb48);
     }
     else if ((getResources().getConfiguration().screenLayout &  Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL)
     {
         holder.checkBox.setButtonDrawable(R.drawable.productlists_custom_cb48);
     }
     else if ((getResources().getConfiguration().screenLayout &  Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL)
     {
         holder.checkBox.setButtonDrawable(R.drawable.productlists_custom_cb36);
     }
     holder.checkBox.setLayoutParams(new android.widget.RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, GetDipsFromPixel(20)));
于 2012-07-04T17:04:59.830 に答える
0

テキストビューで負のパディングを使用して、そのスペースを減らしてみてください。

android:paddingTop="-5dp"
android:paddingBottom="-5dp"
于 2012-06-27T04:22:05.740 に答える