2010-09-03 3 views
5

Я хочу реализовать такое же поведение вида уведомления в официальном приложении Facebook. Вкладка «Уведомления» находится внизу и может перетаскивать пальцы в полный экран.Как получить вид жестов, как в официальном приложении Facebook

Как я могу это сделать?

Я пробовал его с помощью ViewFlipper и анимации .... Но никакого успеха.

Кто-нибудь знает, как мы можем это сделать?

Приложение «Zedge» имеет то же самое в функции «поиск». С помощью перетаскивания вы можете открыть «поиск».

ответ

4

Кроме того, здесь Литт демо, как используется SlideingDrawer:

/SRC - SliderActivity.java:

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.Button; 
import android.widget.SlidingDrawer; 
import android.widget.SlidingDrawer.OnDrawerCloseListener; 
import android.widget.SlidingDrawer.OnDrawerOpenListener; 

public class SliderActivity extends Activity { 
    Button slideHandleButton; 
    SlidingDrawer slidingDrawer; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.main); 
     slideHandleButton = (Button) findViewById(R.id.slideHandleButton); 
     slidingDrawer = (SlidingDrawer) findViewById(R.id.SlidingDrawer); 

     slidingDrawer.setOnDrawerOpenListener(new OnDrawerOpenListener() { 
      @Override 
      public void onDrawerOpened() { 
       slideHandleButton.setBackgroundResource(R.drawable.arrowdown); 
      } 
     }); 

     slidingDrawer.setOnDrawerCloseListener(new OnDrawerCloseListener() { 
      @Override 
      public void onDrawerClosed() { 
       slideHandleButton.setBackgroundResource(R.drawable.arrowup); 
      } 
     }); 
    } 
} 

/Рез/макет - main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout android:id="@+id/LinearLayout01" 
    android:layout_width="fill_parent" android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" android:gravity="bottom"> 
    <SlidingDrawer android:layout_width="wrap_content" 
     android:id="@+id/SlidingDrawer" android:handle="@+id/slideHandleButton" 
     android:content="@+id/contentLayout" android:padding="10dip" 
     android:layout_height="200dip"> 
     <Button android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:id="@+id/slideHandleButton" 
      android:background="@drawable/arrowup"></Button> 
     <LinearLayout android:layout_width="wrap_content" 
      android:id="@+id/contentLayout" android:orientation="vertical" 
      android:gravity="center|top" android:padding="10dip" 
      android:background="#505050" android:layout_height="wrap_content"> 
      <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" 
       android:layout_height="fill_parent" android:layout_weight="8" android:text="Hello Slider"></TextView> 
      <Button android:id="@+id/Button02" android:layout_weight="2" android:layout_width="wrap_content" 
       android:layout_height="wrap_content" android:text="Do anything"></Button> 
     </LinearLayout> 
    </SlidingDrawer> 
</LinearLayout> 

Кроме того, вам нужны изображения в папке/res/drawable - в этом случае, например arrowup.png и arrowdown.png

Если положить, что все вместе это получается выглядеть так:

alt text

alt text

+0

Привет! Большое спасибо ... Я постараюсь добавить это в свое приложение. – chrisonline

+0

Он отлично работает, но как я могу перекрывать содержимое выше? Моя проблема в том, что SlidingDrawer останавливается в конце моего выше LinearLayout. Но я должен наложить весь LinearLayout выше. Как в приложении для Facebook. – chrisonline

+0

Я нашел его. Не добавляйте его в основной формат XML. Вместо этого создайте новый XML только с раздвижным ящиком и добавьте следующий код: LayoutInflater inflater = getLayoutInflater(); View view = inflater.inflate (R.layout.drawer, null); getWindow(). AddContentView (view, params); – chrisonline

8

Эти приложения используют SlidingDrawer. SlidingDrawer сделает все открытие и закрытие для вас, только для определения содержимого и представления для дескриптора.

Это тот же вид, который также используется в качестве приложения на главном экране.

+0

Привет! Большое спасибо ... Я постараюсь добавить это в свой аппликатор – chrisonline

Смежные вопросы