بسم لله الرحمن الرحيم
السلام عليكم ورحمة الله وبركته
تحية طيبة وبعد ...
ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
نقدم لكم من قسم برمجة الاندرويد اكواد مهمة قد تحتاجونها في صننع تطبيقات الاندرويد ..
اليوم سوف نقدم لكم الكود الذي يظهر لكم خاصية 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 التعليقات:
إرسال تعليق