簡體   English   中英

Android上下滑動抽屜

[英]Android sliding drawer from top to bottom

我想在android中創建滑動抽屜,該抽屜應該放在活動頂部,並且應該像android通知面板一樣從上到下打開。 如何實現呢?

默認的SlidingDrawer類不允許這樣做。 您可以從此處使用Panel類來獲取非常相似的內容,或者將SlidingDrawer ,內容和手柄設置為180º旋轉。 注意:android:rotation在API> Level 11上受支持

http://www.ohloh.net/p/android-misc-widgets
https://github.com/IanDarwin/Android-Cookbook-Examples/tree/master/SlidingDrawer-Topdown

參考

如果要上下滑動抽屜,則只需在項目中復制此代碼即可,這是100%的工作代碼。

main.xml

<?xml version="1.0" encoding="utf-8"?>

 <RelativeLayout   
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
     android:background="#d3d3d3"
    >
    <SlidingDrawer
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/slidingDrawer"
    android:layout_width="wrap_content"
    android:layout_height="300dp"
    android:content="@+id/content"
    android:gravity="center_horizontal"
    android:handle="@+id/handle"
    android:orientation="vertical"
    android:rotation="180" >

    <LinearLayout
        android:id="@+id/handle"
        android:layout_width="fill_parent"
        android:layout_height="40dp" 
        android:gravity="right"
       android:background="@+drawable/drawer_bk"
           >

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:background="@+drawable/drawer1" />



    </LinearLayout>

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="45dp" >

    <RelativeLayout
        android:id="@+id/rel1"
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="10dp"
        android:rotation="180" >

        <ImageView
            android:id="@+id/ImageView04"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:onClick="visit"
            android:src="@drawable/visit_icon" />

        <ImageView
            android:id="@+id/ImageView03"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:layout_alignParentTop="true"
            android:layout_marginRight="35dp"
            android:layout_toLeftOf="@+id/ImageView04"
            android:onClick="contact_us"
            android:src="@drawable/contact_icon" />

        <ImageView
            android:id="@+id/ImageView02"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="35dp"
            android:layout_toRightOf="@+id/ImageView04"
            android:onClick="logout"
            android:src="@drawable/singout_icon" />
    </RelativeLayout>


</RelativeLayout>

  </SlidingDrawer>

MainActivity.java

 public class MainActivity extends Activity 
 {

/** Duration of wait **/
private final int SPLASH_DISPLAY_LENGTH = 4000;
Button slideButton,b1, b2,b3,b4;
SlidingDrawer slidingDrawer;

@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    //slideButton = (Button) findViewById(R.id.slideButton);
    slidingDrawer = (SlidingDrawer) findViewById(R.id.slidingDrawer);
     slidingDrawer.setOnDrawerOpenListener(new OnDrawerOpenListener() {
        @Override
        public void onDrawerOpened()
        {
           // slideButton.setBackgroundResource(R.drawable.down_arrow_icon);
            slidingDrawer.setBackgroundResource(R.drawable.hd_img_1);
        }
    });

    slidingDrawer.setOnDrawerCloseListener(new OnDrawerCloseListener() 
    {
        @Override
        public void onDrawerClosed() 
        {

          //  slideButton.setBackgroundResource(R.drawable.upwar_arrow_icon);
            slidingDrawer.setBackgroundColor(Color.TRANSPARENT);
        }
    });

   }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM