0

私は2つのリストを持っています。1 つのリストには利用可能なすべてのアイテム (lv_available_items) が表示され、2 つ目のリストには利用可能なリストから選択されたアイテム (lv_selected_items) のみが表示されます。また、選択したリストが表示の最大 50% を占めるようにしたいので、属性「layout_weight」を使用します。ただし、選択可能なリストから 1 つの項目のみが選択されている場合、これは選択されたリストに完全には表示されません。なんで?

AlertDialog の表示:

<?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"
    android:weightSum="1" >

    <ListView
        android:id="@+id/lv_selected_items"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="0.5"
        android:background="@android:color/darker_gray">
    </ListView>

    <ListView
        android:id="@+id/lv_available_items"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="0.5" >
    </ListView>
</LinearLayout>

この 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:gravity="left|center_vertical"
    android:orientation="horizontal" >

    <TextView 
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="right|center_vertical" >

        <CheckBox
            android:id="@+id/cb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="onClickRow"/>
    </LinearLayout>
</LinearLayout>

スクリーンショット:

http://windows.valloc.de/msl1.png

http://windows.valloc.de/msl2.png

4

3 に答える 3

-1

さまざまなエミュレーターに従って xml を設計します。hdpi 電話解像度の設計 .xml ファイルの場合と同様に、彼のビューに従って、.xml ファイルのグラフィカル ビューから hpdi エミュレーターを選択し、ldpi、xhdpi などの異なる .xml を設計できます。少し時間がかかるが効果的なもの

次に、.java ファイルの表示メトリック クラスを使用します。

  DisplayMetrics metrics = new DisplayMetrics();
    activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
    screenWidthPX = metrics.widthPixels;
    screenHeightPX = metrics.heightPixels;
    densityDpi = metrics.densityDpi;
    switch(metrics.denistyDpi)
    {
        case DisplayMetrics.Denisty_High:
        R.id.high.xml;   //pass xml id of high denisty 
    }

// 同様に別のケースでは Denisty_low などを渡します。

于 2013-10-16T07:30:29.983 に答える