بسم لله الرحمن الرحيم
السلام عليكم ورحمة الله وبركته
تحية طيبة وبعد ...
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
نقدم لكم من قسم برمجة الاندرويد اكواد مهمة قد تحتاجونها في صننع تطبيقات الاندرويد ..
اليوم سوف نقدم لكم الكود الذي يظهر لكم خاصية navigation drawer في التطبيق
خاصية navigation drawer هي مثل ما هو موضح في الصورة :
ادخل على هذا المسار :
- res/layout/activity_main.xml
وادخل هذا الكود :
<android.support.v4.widget.DrawerLayout xmlns: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" /> <!-- 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="#666" android:dividerHeight="1dp" android:background="#333" android:paddingLeft="15sp" android:paddingRight="15sp" /></android.support.v4.widget.DrawerLayout>
وبعدها في نفس المسار :
res/layout/
انشأ ملف اسمه :
drawer_listview_item.xml
وادخل فيه هذا الكود :
<?xml version="1.0" encoding="utf-8"?> android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="#fff" android:textSize="20sp" android:gravity="center_vertical" android:paddingStart="14.5sp" android:paddingEnd="14.5sp" android:minHeight="35sp"/>
وبعدها في مسار :- res/values/strings.xml
ادخل هذا الكود :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">App</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string-array name="items">
<item>Item 1</item>
<item>Item 2</item>
<item>Item 3</item>
<item>Item 4</item>
<item>Item 5</item>
<item>Item 6</item>
</string-array>
<string name="drawer_open">Open navigation drawer</string>
<string name="drawer_close">Close navigation drawer</string>
</resources>
وبعدها اذهب الى هذا المسار :
- res/com/hmkcode/android/MainActivity.java
ودخل هذا الكود :
package com.hmkcode.android;import android.os.Bundle;import android.app.Activity;import android.content.res.Configuration;import android.support.v4.app.ActionBarDrawerToggle;import android.support.v4.view.GravityCompat;import android.support.v4.widget.DrawerLayout;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends Activity { private String[] drawerListViewItems; private DrawerLayout drawerLayout; private ListView drawerListView; private ActionBarDrawerToggle actionBarDrawerToggle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // get list items from strings.xml drawerListViewItems = getResources().getStringArray(R.array.items); // get ListView defined in activity_main.xml drawerListView = (ListView) findViewById(R.id.left_drawer); // Set the adapter for the list view drawerListView.setAdapter(new ArrayAdapter<String>(this, R.layout.drawer_listview_item, drawerListViewItems)); // 2. App Icon drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); // 2.1 create ActionBarDrawerToggle actionBarDrawerToggle = new ActionBarDrawerToggle( this, /* host Activity */ drawerLayout, /* DrawerLayout object */ R.drawable.ic_drawer, /* nav drawer icon to replace 'Up' caret */ R.string.drawer_open, /* "open drawer" description */ R.string.drawer_close /* "close drawer" description */ ); // 2.2 Set actionBarDrawerToggle as the DrawerListener drawerLayout.setDrawerListener(actionBarDrawerToggle); // 2.3 enable and show "up" arrow getActionBar().setDisplayHomeAsUpEnabled(true); // just styling option drawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); drawerListView.setOnItemClickListener(new DrawerItemClickListener()); } @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); // Sync the toggle state after onRestoreInstanceState has occurred. actionBarDrawerToggle.syncState(); } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); actionBarDrawerToggle.onConfigurationChanged(newConfig); } @Override public boolean onOptionsItemSelected(MenuItem item) { // call ActionBarDrawerToggle.onOptionsItemSelected(), if it returns true // then it has handled the app icon touch event if (actionBarDrawerToggle.onOptionsItemSelected(item)) { return true; } return super.onOptionsItemSelected(item); } private class DrawerItemClickListener implements ListView.OnItemClickListener { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { Toast.makeText(MainActivity.this, ((TextView)view).getText(), Toast.LENGTH_LONG).show(); drawerLayout.closeDrawer(drawerListView); } }}
وبعدها نزل هذا الملف و اوضع كل شي في الملف المطلوب :

0 التعليقات:
إرسال تعليق