2010-09-03 20 views
5

Tôi muốn thực hiện cùng một hành vi của chế độ xem thông báo trong ứng dụng Facebook chính thức. Tab "thông báo" ở dưới cùng và có thể kéo/thả qua các ngón tay đến toàn màn hình.Cách xem Giao diện cử chỉ giống như trong ứng dụng Facebook chính thức

Tôi có thể làm điều đó bằng cách nào?

Tôi đã thử nó qua ViewFlipper và Animation .... Nhưng không thành công.

Có ai biết cách chúng tôi có thể thực hiện việc này không?

Ứng dụng "Zedge" có cùng chức năng "tìm kiếm". Bằng cách kéo/thả, bạn có thể mở chế độ xem "tìm kiếm".

Trả lời

4

Thêm vào đó, đây là một bản demo litte các SlideingDrawer được sử dụng như thế nào:

/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); 
      } 
     }); 
    } 
} 

/res/layout - 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> 

Ngoài ra, bạn cần hình ảnh trong thư mục/res/drawable của mình - trong trường hợp này là arrowup.pngarrowdown.png

Nếu bạn đặt tất cả lại với nhau nó quay ra nhìn như thế:

alt text

alt text

+0

Xin chào! Xin cảm ơn ... Tôi sẽ cố gắng thêm điều này vào ứng dụng của tôi. – chrisonline

+0

Nó hoạt động tuyệt vời, nhưng làm cách nào tôi có thể chồng chéo nội dung ở trên? Vấn đề của tôi là SlidingDrawer dừng ở cuối LinearLayout ở trên của tôi. Nhưng tôi nên che phủ toàn bộ LinearLayout ở trên. Giống như trong ứng dụng Facebook. – chrisonline

+0

Tôi đã tìm thấy nó. Đừng thêm nó vào XML bố cục chính. Thay vào đó, chỉ tạo XML mới bằng Ngăn Trượt và thêm mã sau đây: LayoutInflater inflater = getLayoutInflater(); Xem chế độ xem = inflater.inflate (R.layout.drawer, null); getWindow(). AddContentView (xem, thông số); – chrisonline

8

Những ứng dụng đó đang sử dụng SlidingDrawer. SlidingDrawer sẽ thực hiện tất cả việc mở và đóng cho bạn chỉ phải xác định chế độ xem nội dung và chế độ xem cho tay cầm.

Đây cũng là chế độ xem cũng được sử dụng làm ngăn ứng dụng trên màn hình chính.

+0

Hi! Xin cảm ơn ... Tôi sẽ cố gắng thêm điều này vào ứng dụng của tôi – chrisonline

Các vấn đề liên quan