2010-09-03 39 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); 
      } 
     }); 
    } 
} 

/RES /佈局 - 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.pngarrowdown.png

如果你把所有的一起它原來的樣子說:

alt text

alt text

+0

嗨!非常感謝...我會盡力將其添加到我的應用程序中。 – chrisonline 2010-09-03 14:51:32

+0

它很好用,但我如何重疊上面的內容? 我的問題是,SlidingDrawer停在我的上面的LinearLayout結束。但是我應該覆蓋上面的整個LinearLayout。 就像在Facebook應用程序。 – chrisonline 2010-09-03 18:30:28

+0

我找到了。不要將其添加到主佈局XML。 取而代之的是使用Sliding Drawer創建一個新的XML,並添加以下代碼: LayoutInflater inflater = getLayoutInflater(); 查看視圖= inflater.inflate(R.layout.drawer,null); getWindow()。addContentView(view,params); – chrisonline 2010-09-03 22:02:42

8

這些應用正在使用一個SlidingDrawer的。 SlidingDrawer將爲你完成所有的打開和關閉操作,只需要爲句柄定義內容視圖和視圖。

這是相同的看法,也用作主屏幕上的應用程序抽屜。

+0

嗨!非常感謝...我會盡力將其添加到我的應用程序 – chrisonline 2010-09-03 14:52:32