0

ListViewの中に がありHorizontalScrollView、スクロールバートラックは右側の領域を占めています。私がそれに変更するScrollbarstyle:insideOverlayと、それはまだアールを占有します。scrollbars:none に変更すると、領域が消えるので、スクロールバーと関係があることがわかります。

スクロールバーのすべてのスタイルでテストし、パディングとマージンをいじって、実際にオーバーレイする方法を見つけられませんでした。HorizontalScrollViewスクロールバーが正しくオーバーレイされていることを削除すると、問題が発生するようです。

このコードでは、xml とコードの両方でオーバーレイを設定しましたが、いずれも機能していないようです。

問題が発生する基本的な作業例を次に示します。私の実際のコードでは、レイアウトは緑だけではないため、トラックを緑に着色するソリューションは機能しません。

public class ScrollTest extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scroll_test);
        ListView lv= getListView();

        lv.setDivider(null);

        //Just to make sure!
        lv.setScrollBarStyle(ListView.SCROLLBARS_INSIDE_OVERLAY);

        // create the grid item mapping
        String[] from = new String[] {"rowid", "col_1", "col_2", "col_3", "col_4", "col_5"};
        int[] to = new int[] { R.id.item1, R.id.item2, R.id.item3, R.id.item4, R.id.item5 , R.id.item6};

        // prepare the list of all records
        List<HashMap<String, String>> fillMaps = new ArrayList<HashMap<String, String>>();
        for(int i = 0; i < 50; i++){
            HashMap<String, String> map = new HashMap<String, String>();
            map.put("rowid", "" + i);
            map.put("col_1", "col_1_item_" + i);
            map.put("col_2", "col_2_item_" + i);
            map.put("col_3", "col_3_item_" + i);
            map.put("col_4", "col_4_item_" + i);
            map.put("col_5", "col_5_item_" + i);
            fillMaps.add(map);
        }

        // fill in the grid_item layout
        SimpleAdapter adapter = new SimpleAdapter(this, fillMaps, R.layout.row, from, to);
        lv.setAdapter(adapter);
    }
}

およびレイアウトに関連する xml。activty_scroll_test.xml:

<?xml version="1.0" encoding="UTF-8"?>
    <HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="fill_parent">
            <ListView
            android:id="@android:id/list"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scrollbarStyle="insideOverlay"/>
    </HorizontalScrollView>

行.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:background="@android:color/holo_green_dark"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
        <TextView android:id="@+id/item1"
            android:text="row_id"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:width="40dip"
            android:padding="5dp"
        />
        <TextView android:id="@+id/item2"
            android:text="col_1"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:width="100dip"
            android:padding="5dp"
        />
        <TextView android:id="@+id/item3"
            android:text="col_2"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:width="100dip"
            android:padding="5dp"
        />
        <TextView android:id="@+id/item4"
            android:text="col_3"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:width="100dip"
            android:padding="5dp"
        />
        <TextView android:id="@+id/item5"
            android:text="col_4"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:width="100dip"
            android:padding="5dp"
        />
        <TextView android:id="@+id/item6"
            android:text="col_5"
            android:layout_height="fill_parent"
            android:layout_width="wrap_content"
            android:width="100dip"
            android:padding="5dp"
        />
</LinearLayout>
4

1 に答える 1