Android Sliding Drawer Open On Create

前端 未结 2 1791
灰色年华
灰色年华 2021-01-23 23:38

I want to have a slider that is open when the app starts. It will be open with buttons and such and when the user closes it, there will be more buttons to access. Is this possib

相关标签:
2条回答
  • 2021-01-24 00:15

    Use open() in your onCreate(), it will open the drawer immediately.

    You can take a look at the full API here

    0 讨论(0)
  • 2021-01-24 00:23

    XML Layout - In a basic LinearLayout:

      <SlidingDrawer
        android:id="@+id/slide"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:content="@+id/content"
        android:handle="@+id/handle"
        android:orientation="vertical"
        android:scrollbars="vertical" >
    
        <LinearLayout
            android:id="@id/handle"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/btn"
            android:gravity="center"
            android:orientation="horizontal" >
    
            <ImageView
                android:id="@+id/handleImage"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/ic_tray_expand" />
    
            <Button
                android:id="@+id/handleButton"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:background="@drawable/btn"
                android:text="Up me" />
        </LinearLayout>
        <LinearLayout
            android:id="@+id/content"
            android:paddingTop="2dp"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#013E53"
            android:gravity="center"
            android:orientation="vertical" >
            <TextView
                android:id="@+id/tv_commentDisplay"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="left"
                android:paddingLeft="10dp"
                android:textSize="20dp" />
        </LinearLayout>
    </SlidingDrawer>
    

    And your Activity will looks like this:

    public class Home extends Activity implements OnDrawerScrollListener
    {
    
    private ImageView               handleImage;
    private Button                  handleButton;
    private SlidingDrawer           slide;
        private TextView                tv_commentDisplay;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.main);
    
                tv_commentDisplay = (TextView)this.findViewById(R.id.tv_commentDisplay);
        handleImage = (ImageView)this.findViewById(R.id.handleImage);
        handleButton = (Button)this.findViewById(R.id.handleButton);
        slide = (SlidingDrawer)this.findViewById(R.id.slide);
    
        slide.open(); // not sure
        slide.setOnDrawerScrollListener(this);
    
        handleButton = ((Button)this.findViewById(R.id.handleButton));
    
        tv_commentDisplay.setText("Hello World");
    }
    
    @Override
    public void onScrollEnded() {
    }
    
    @Override
    public void onScrollStarted() {
        if (slide.isOpened())
            handleImage.setImageResource(R.drawable.ic_tray_collapse);
        else {
            handleImage.setImageResource(R.drawable.ic_tray_expand);
        }
    }
    
    0 讨论(0)
提交回复
热议问题