Панель поиска в ручке SlidingDrawer - PullRequest
1 голос
/ 08 марта 2012

Я пытаюсь создать музыкальный проигрыватель, в котором я использую почти все области экрана для списка воспроизведения. В нижней части экрана вы увидите маленького «игрока» с кнопкой воспроизведения / паузы, полосой поиска и затем кнопкой остановки. Если вы перетащите «плеер» вверх, он покажет обложку альбома и дополнительную информацию.

Итак, я выполнил макет, но не могу переместить большой палец панели поиска. Я думаю, что это потому, что это часть ручки выдвижного ящика. Если я прав, есть ли другой способ сделать это?

Вот мой код для раскладки выдвижного лотка

 <SlidingDrawer
                android:id="@+id/slidingDrawer1"
                android:layout_width="match_parent"
                android:layout_height="450dp"
                android:layout_gravity="bottom"
                android:content="@+id/content"
                android:handle="@+id/handle" >

                <TableRow
                android:id="@+id/handle"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:background="@drawable/hz_background_gradient"
                android:orientation="vertical" >

<LinearLayout
    android:id="@+id/linearLayout5"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >


    <ImageView
        android:id="@+id/imageButton1"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:src="@drawable/playback_play"
        android:layout_marginLeft="6dp"
        android:layout_marginTop="4dp" />

        <SeekBar android:id="@+id/editText1"
        android:layout_width="203dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_weight="0.45"
        android:layout_marginTop="8dp"
        android:max="100" />
    <ImageView
        android:id="@+id/imageButton1"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:src="@drawable/playback_stop"
        android:layout_marginLeft="6dp"
        android:layout_marginTop="4dp"
        android:layout_marginRight="5dp" />
</LinearLayout>

            </TableRow>


                <LinearLayout
                    android:id="@+id/content"
                    android:layout_width="match_parent"
                    android:layout_height="167dp"
                    android:orientation="vertical" >

                    <ImageView
                        android:id="@+id/imageView1"
                        android:layout_width="wrap_content"
                        android:layout_height="272dp"
                        android:layout_weight="0.83"
                        android:src="@drawable/ic_launcher"
                        android:layout_marginLeft="25dp"
                        android:layout_marginRight="25dp"
                        android:layout_marginTop="25dp" />



                    <TableRow
                        android:id="@+id/tbR1"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_weight="0.98"
                        android:background="@drawable/hz_background_gradient"
                        android:orientation="vertical" >

                        <LinearLayout
                            android:id="@+id/linearLayout5"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:orientation="vertical" >
                        <LinearLayout
                            android:id="@+id/linearLayout5"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:orientation="horizontal" >

                            <TextView
                                android:id="@+id/textView1"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="Titel: "
                                android:textAppearance="?android:attr/textAppearanceMedium" />


                            <TextView
                                android:id="@+id/tvTitel"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:text="Put a spell on you"
                                android:textAppearance="?android:attr/textAppearanceMedium" />

                        </LinearLayout>
                                                    <LinearLayout
                            android:id="@+id/linearLayout5"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:orientation="horizontal" >

                            <TextView
                                android:id="@+id/textView1"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="Artist: "
                                android:textAppearance="?android:attr/textAppearanceMedium" />
                                                            <TextView
                                android:id="@+id/tvArtist"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:text="Credence Clearwater Revival"
                                android:textAppearance="?android:attr/textAppearanceMedium" />

                        </LinearLayout>
                      </LinearLayout>
                    </TableRow>
                </LinearLayout>
            </SlidingDrawer>

Заранее спасибо:)

1 Ответ

2 голосов
/ 08 марта 2012

Окей.Итак, я исправил это!Причина, по которой я не мог заставить его работать, была в том, что я двигал ручку.Итак, мне нужно было заблокировать его, когда я (возможно) хотел бы переместить большой палец, если панель поиска.Это мое решение:

Я добавил «вкладку» на левой стороне ручки.

Теперь это мой XML-код для SlidingDrawer

       <SlidingDrawer
                android:id="@+id/slidingDrawer1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="bottom"
                android:allowSingleTap="false"
                android:content="@+id/content"
                android:handle="@+id/handle" >

         <LinearLayout
    android:id="@+id/handle"
    android:layout_width="match_parent"
    android:layout_height="68dp"
    android:orientation="vertical" >


               <TableRow
                        android:layout_width="101px"
                        android:layout_height="wrap_content"
                        android:background="@drawable/test"
                        android:orientation="vertical" >
                                                                     <TextView
                                android:id="@+id/tvToggleSD"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:text="Visa"
                                android:layout_marginLeft="12dp"
                                android:textAppearance="?android:attr/textAppearanceMedium" />

                                 </TableRow>  
                                      <TableRow
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:background="@drawable/hz_background_gradient"
                        android:orientation="vertical" >



    <ImageView
        android:id="@+id/buttonPlay"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:src="@drawable/playback_play"
        android:layout_marginLeft="6dp"
        android:layout_marginTop="4dp" />

        <SeekBar android:id="@+id/seekbar1"
        android:layout_width="203dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_weight="0.45"
        android:layout_marginTop="8dp"
        android:max="100" />
    <ImageView
        android:id="@+id/buttonstop"
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:src="@drawable/playback_stop"
        android:layout_marginLeft="6dp"
        android:layout_marginTop="4dp"
        android:layout_marginRight="5dp" />
    </TableRow>  
</LinearLayout>


                <LinearLayout
                    android:id="@+id/content"
                    android:layout_width="match_parent"
                    android:layout_height="167dp"
                    android:orientation="vertical" >

                    <ImageView
                        android:id="@+id/imgCover"
                        android:layout_width="fill_parent"
                        android:layout_height="272dp"
                        android:layout_weight="0.83"
                        android:src="@drawable/test_cover"
                        android:layout_marginLeft="25dp"
                        android:layout_marginRight="25dp"
                        android:layout_marginTop="25dp" />



                    <TableRow
                        android:layout_width="fill_parent"
                        android:layout_height="55dp"
                        android:background="@drawable/hz_background_gradient"
                        android:orientation="vertical" >

                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            android:orientation="vertical" >
                        <LinearLayout
                            android:layout_width="match_parent"
                            android:layout_height="30dp"
                            android:orientation="horizontal" >

                            <TextView
                                android:id="@+id/textView1"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="Titel: "
                                android:textAppearance="?android:attr/textAppearanceMedium" />


                            <TextView
                                android:id="@+id/tvTitel"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:text="Put a spell on you"
                                android:textAppearance="?android:attr/textAppearanceMedium" />

                        </LinearLayout>
                                                    <LinearLayout
                            android:id="@+id/linearLayout5"
                            android:layout_width="match_parent"
                            android:layout_height="30dp"
                            android:orientation="horizontal" >

                            <TextView
                                android:id="@+id/textView1"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="Artist: "
                                android:textAppearance="?android:attr/textAppearanceMedium" />
                                                            <TextView
                                android:id="@+id/tvArtist"
                                android:layout_width="match_parent"
                                android:layout_height="wrap_content"
                                android:text="Credence Clearwater Revival"
                                android:textAppearance="?android:attr/textAppearanceMedium" />

                        </LinearLayout>
                       </LinearLayout>

                    </TableRow>

                </LinearLayout>

            </SlidingDrawer>

Затем я сделал действительно простой Java-код.Идея заключается в том, что вы должны нажать на вкладку, чтобы открыть и закрыть slideDrawer.Вот соответствующий код Java:

sd = (SlidingDrawer) findViewById(R.id.slidingDrawer1);
   tvToggleSD = (TextView) findViewById(R.id.tvToggleSD);
   sd.lock();
   tvToggleSD.setonclickListener(new onclickListener() {
    public void onclick(View v) {
        sd.unlock();
        if (sd.isOpened()) {
            sd.animateClose();
            tvToggleSD.setText("Visa");
        } else {
            sd.animateOpen();
            tvToggleSD.setText("Dölj");
        }
        sd.lock();
    }
   });

Надеюсь, это поможет кому-то еще:)

...