Android DrawerLayout實現左右側滑

來源:互聯網
上載者:User

標籤:

首先, DrawerLayout這個類是在Support Library裡的,需要加上android-support-v4.jar這個包。 然後程式中用時在前面匯入import android.support.v4.widget.DrawerLayout; 如果找不到這個類,首先用SDK Manager更新一下Android Support Library,然後在Android SDK/extras/android/support/v4

路徑下找到android-support-v4.jar,複製到項目的libs路徑,將其Add to Build Path.

http://developer.android.com/reference/android/support/v4/widget/DrawerLayout.html

開啟抽屜: DrawerLayout .openDrawer(); 關閉抽屜:DrawerLayout.closeDrawer( );

要注意這幾個原則:

1.主view(content view) 必須是drawerlayout的第一個子節點

2.主view寬和高必需match_parent

3.drawer view必須指定android:layout_gravity屬性,如果值為“start”,會根據系統的語言順序自動決定從左滑還是從右

4. drawer view寬度不能太寬,最好不要超過320dp

<android.support.v4.widget.DrawerLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/drawer_layout"android:layout_width="match_parent"android:layout_height="match_parent">    <!-- The main content view -->    <FrameLayout        android:id="@+id/content_frame"        android:layout_width="match_parent"        android:layout_height="match_parent" >        <TextView android:text="@string/hello_world" android:layout_width="wrap_content"            android:id="@+id/textView1"            android:layout_height="wrap_content" />    </FrameLayout>    <!-- The navigation drawer -->    <ListView android:id="@+id/left_drawer"        android:layout_width="240dp"        android:layout_height="match_parent"        android:layout_gravity="start"        android:choiceMode="singleChoice"        android:divider="@android:color/transparent"        android:dividerHeight="0dp"        android:background="#111"/></android.support.v4.widget.DrawerLayout>
public class MainActivity extends ActionBarActivity implements  ResponseListener<String> {    private TextView mTextView;    private ListView mListView;    private DrawerLayout mDrawerLayout;    private ActionBarDrawerToggle mDrawerToggle;    private ArrayList<String> list=new ArrayList<String>();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);        list.add("test1");        list.add("test2");        list.add("test3");        list.add("test4");        list.add("test5");        mListView=(ListView)findViewById(R.id.left_drawer);        mListView.setAdapter(new ArrayAdapter<String>(this, R.layout.list_item, list));        mTextView=(TextView)findViewById(R.id.textView1);        mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {            @Override            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {                mTextView.setText(list.get(position));                mDrawerLayout.closeDrawer(mListView);               // mDrawerLayout.openDrawer(mListView);            }        });    }}

 

Android DrawerLayout實現左右側滑

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.