3

我试图让 onDrawerOpen 专注于 ListView 而不是按钮。基本上,当我打开抽屉时,焦点始终在按钮布局上,但我希望在默认打开时位于项目列表(listView)上。任何人都可以写一个简单的例子吗?这是我的代码和布局。

private void initDrawer() {
    mDrawerToggle = new ActionBarDrawerToggle
            (this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close) {

        @Override
        public void onDrawerClosed(View drawerView) {

            super.onDrawerClosed(drawerView);
        }

        @Override
        public void onDrawerOpened(View drawerView) {
            super.onDrawerOpened(drawerView);
            mDrawerList = (ListView) findViewById(R.id.selection_activity_list);
            mDrawerList.requestFocus();

        }
    };
    mDrawerLayout.setDrawerListener(mDrawerToggle);
    mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
    mDrawerList.setItemChecked(1, true);
    mDrawerList.setItemChecked(R.color.background_hl, true);
    mDrawerList.setSelection(R.color.background_color);
}

private class DrawerItemClickListener implements ListView.OnItemClickListener {
    @Override
    public void onItemClick(AdapterView parent, View view, int position, long id) {
        mDrawerTitle = videoList.get(position).getTitle();

        Log.d(TAG, "Playlist position " + position);

        playlistManager.setCurrentIndex(position);
        playlistManager.play(1, false);
        //playlistManager.play(0, false);
        //init();

        mDrawerList.setItemChecked(R.drawable.custom_selector, true);
        mDrawerList.setSelection(R.drawable.custom_selector);
        mDrawerLayout.closeDrawer(mDrawerRelativeLayout);
        setTitle(mDrawerTitle);
}

和我的 DrawerLayout 如下

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/left_drawer"

android:layout_width="@dimen/nav_drawer_size"
android:layout_height="match_parent"
android:layout_gravity="start"

android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
android:nestedScrollingEnabled="false"
android:touchscreenBlocksFocus="false">

<LinearLayout
    android:id="@id/layout_country"
    android:layout_width="140.0dip"
    android:layout_height="fill_parent"
    android:layout_marginBottom="0.0dip"
    android:layout_marginLeft="0.0dip"
    android:layout_marginRight="0.0dip"
    android:layout_marginTop="0.0dip"
    android:background="#f01e1e1e"
    android:orientation="vertical"
    android:layoutMode="clipBounds">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="60.0dip"
        android:background="#ff1f1f1f">

        <TextView
            android:background="@drawable/button5_background"
            android:id="@+id/country_title"
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:gravity="center"

            android:text="@string/country"
            android:textColor="@color/white"
            android:textSize="20.0sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false">

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="All"
            android:background="@drawable/button5_background"
            android:textColor="#ffffff"
            android:id="@+id/buttonAll"

            android:layout_weight="1"
            android:clickable="false" />


    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="@string/uk"
            android:background="@drawable/custom_selector"
            android:textColor="#ffffff"
            android:id="@+id/button2"
            android:layout_weight="1" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false">

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="@string/frn"
            android:background="@drawable/custom_selector"
            android:textColor="#ffffff"
            android:id="@+id/button3"
            android:layout_weight="1" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="@string/ita"
            android:background="@drawable/custom_selector"
            android:textColor="#ffffff"
            android:id="@+id/button4"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="@string/ger"
            android:background="@drawable/custom_selector"
            android:textColor="#ffffff"
            android:id="@+id/button5"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="@string/spa"
            android:background="@drawable/custom_selector"
            android:textColor="#ffffff"
            android:id="@+id/button7"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="@string/arab"
            android:background="@drawable/custom_selector"
            android:textColor="#ffffff"
            android:id="@+id/button6"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="@string/som"
            android:background="@drawable/custom_selector"
            android:textColor="#ffffff"
            android:id="@+id/button"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="@string/ind"
            android:background="@drawable/custom_selector"
            android:textColor="#ffffff"
            android:id="@+id/button8"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="@string/spo"
            android:background="@drawable/custom_selector"
            android:textColor="#ffffff"
            android:id="@+id/button9"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="@string/eu"
            android:background="@drawable/custom_selector"
            android:textColor="#ffffff"
            android:id="@+id/button10"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="@string/swe"
            android:textColor="#ffffff"
            android:background="@drawable/custom_selector"
            android:layout_weight="1" />
    </LinearLayout>



    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="@string/rus"
            android:textColor="#ffffff"
            android:background="@drawable/custom_selector"
            android:id="@+id/button11"

            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false" >

        <Button
            android:layout_width="fill_parent"
            android:layout_height="44dp"
            android:text="@string/usa"
            android:textColor="#ffffff"
            android:background="@drawable/custom_selector"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="false" >

        <Button
            android:layout_width="0dp"
            android:layout_height="44dp"
            android:text="@string/sth"
            android:textColor="#ffffff"
            android:background="@drawable/button5_background"
            android:layout_weight="1" />
    </LinearLayout>

</LinearLayout>

<LinearLayout
    android:layout_width="2.0dip"
    android:layout_height="fill_parent"
    android:layout_marginBottom="0.0dip"
    android:layout_marginLeft="140.0dip"
    android:layout_marginRight="0.0dip"
    android:layout_marginTop="0.0dip"
    android:background="@color/back"
    android:orientation="vertical" />

<RelativeLayout
    android:id="@id/layout_category"
    android:layout_width="660.0dip"
    android:layout_height="fill_parent"
    android:layout_marginBottom="0.0dip"
    android:layout_marginLeft="142.0dip"
    android:layout_marginRight="1.0dip"
    android:layout_marginTop="0.0dip"
    android:orientation="vertical"
    android:touchscreenBlocksFocus="true"
    android:nestedScrollingEnabled="true">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="60.0dip"
        android:background="#ff1f1f1f"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="300.0dip"
            android:layout_height="fill_parent">

            <TextView
                android:id="@id/category_title"
                android:layout_width="0.0dip"
                android:layout_height="fill_parent"
                android:layout_weight="0.78"
                android:gravity="center"
                android:text="@string/all"
                android:textColor="@color/white"
                android:textSize="20.0sp" />

            <TextView

                android:layout_width="0.0dip"
                android:layout_height="fill_parent"


                android:layout_weight="1.5"
                />
        </LinearLayout>

        <LinearLayout
            android:layout_width="360.0dip"
            android:layout_height="fill_parent">

            <TextView
                android:id="@id/epg_title"
                android:layout_width="0.0dip"
                android:layout_height="fill_parent"
                android:layout_weight="3.0"
                android:gravity="center"
                android:text="@string/epg_now"
                android:textColor="@color/white"
                android:textSize="20.0sp" />

            <LinearLayout
                android:layout_width="0.0dip"
                android:layout_height="fill_parent"
                android:layout_weight="3.0"
                android:gravity="center|right">

                <ImageView
                    android:layout_width="28.0dip"
                    android:layout_height="28.0dip"
                    android:scaleType="centerInside"
                    android:src="@drawable/ic_menu" />

                <TextView
                    android:id="@id/epg_help"
                    android:layout_width="wrap_content"
                    android:layout_height="fill_parent"
                    android:layout_alignParentLeft="true"
                    android:layout_marginLeft="4.0dip"
                    android:layout_marginRight="4.0dip"
                    android:gravity="center_vertical"
                    android:text="@string/to_schedule"
                    android:textColor="@color/white"
                    android:textSize="16.0sp" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="60.0dip"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="300.0dip"
            android:layout_height="fill_parent"
            android:background="#f01e1e1e" >

        </LinearLayout>

        <LinearLayout
            android:layout_width="360.0dip"
            android:layout_height="fill_parent"
            android:background="#f01c1c1c"
            android:weightSum="1">

        </LinearLayout>
    </LinearLayout>

    <LinearLayout

        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="60.0dip"
        >

        <ListView

            android:background="@drawable/button5_background"
            android:choiceMode="singleChoice"
            android:checked="true"
            android:nextFocusRight="@layout/list_selection_activity"
            android:id="@+id/selection_activity_list"

            android:layout_width="891dp"
            android:layout_height="664dp"
            android:listSelector="#fc0000"
            android:scrollingCache="true"

            android:scrollIndicators="none"
            android:focusable="true"
            android:focusableInTouchMode="true" />
        <requestFocus />
    </LinearLayout>
</RelativeLayout>

<LinearLayout
    android:id="@id/layout_epg"
    android:layout_width="360.0dip"
    android:layout_height="fill_parent"
    android:layout_marginBottom="0.0dip"
    android:layout_marginLeft="442.0dip"
    android:layout_marginRight="1.0dip"
    android:layout_marginTop="60.0dip"
    android:background="#ff1e1e1e"
    android:orientation="vertical"
    android:visibility="invisible">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="55.0dip"
        android:orientation="horizontal"
        android:paddingBottom="7.0dip"
        android:paddingTop="7.0dip">

        <TextView
            android:id="@id/date1"
            android:layout_width="0.0dip"
            android:layout_height="fill_parent"
            android:layout_marginLeft="2.0dip"
            android:layout_weight="1.0"
            android:gravity="center"
            android:padding="0.0dip"
            android:text="11/7"
            android:textColor="@color/white"
            android:textSize="16.0sp" />

        <TextView
            android:id="@id/date2"
            android:layout_width="0.0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1.0"
            android:gravity="center"
            android:padding="0.0dip"
            android:text="11/7"
            android:textColor="@color/white"
            android:textSize="16.0sp" />

        <TextView
            android:id="@id/date3"
            android:layout_width="0.0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1.0"
            android:gravity="center"
            android:padding="0.0dip"
            android:text="11/7"
            android:textColor="@color/white"
            android:textSize="16.0sp" />

        <TextView
            android:id="@id/date4"
            android:layout_width="0.0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1.0"
            android:gravity="center"
            android:padding="0.0dip"
            android:text="11/7"
            android:textColor="@color/white"
            android:textSize="16.0sp" />

        <TextView
            android:id="@id/date5"
            android:layout_width="0.0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1.0"
            android:gravity="center"
            android:padding="0.0dip"
            android:text="11/7"
            android:textColor="@color/white"
            android:textSize="16.0sp" />

        <TextView
            android:id="@id/date6"
            android:layout_width="0.0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1.0"
            android:gravity="center"
            android:padding="0.0dip"
            android:text="11/7"
            android:textColor="@color/white"
            android:textSize="16.0sp" />

        <TextView
            android:id="@id/date7"
            android:layout_width="0.0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1.0"
            android:gravity="center"
            android:padding="0.0dip"
            android:text="11/7"
            android:textColor="@color/white"
            android:textSize="16.0sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="2.0dip"
        android:background="@color/background_hl"
        android:orientation="horizontal" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="2.0dip"
        android:orientation="horizontal" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <ListView
            android:id="@id/epg_list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:id="@id/layout_date"
    android:layout_width="100.0dip"
    android:layout_height="fill_parent"
    android:layout_marginBottom="0.0dip"
    android:layout_marginLeft="0.0dip"
    android:layout_marginRight="1.0dip"
    android:layout_marginTop="0.0dip"
    android:background="#f01e1e1e"
    android:orientation="vertical"
    android:visibility="gone">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <ListView
            android:id="@id/date_list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_marginTop="59.0dip" />
    </LinearLayout>
</LinearLayout>

<ProgressBar
    android:id="@+id/progressBar"
    style="?android:attr/progressBarStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:visibility="gone" />

4

0 回答 0