CustomDrawerActivity.java
Dosyayı İndir
package com.godoro.androidfragments;
import android.content.res.Configuration;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.os.Bundle;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.FrameLayout;
import android.widget.ListView;
import android.widget.Toast;
public class CustomDrawerActivity extends AppCompatActivity {
private final static String[] LIST_ITEMS={"C/C++","Java","C#","PHP","Python"};
private DrawerLayout drawerLayout;
private ListView drawerList;
private ActionBarDrawerToggle drawerToggle;
private CustomFragmentOne fragmentOne;
private CustomFragmentTwo fragmentTwo;
private CustomFragmentThree fragmentThree;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_custom_drawer);
fragmentOne = new CustomFragmentOne();
fragmentTwo = new CustomFragmentTwo();
fragmentThree = new CustomFragmentThree();
showFragment(fragmentOne);
drawerLayout=findViewById(R.id.drawerLayout);
drawerList=findViewById(R.id.drawerList);
ArrayAdapter<String> adapter=new ArrayAdapter<>(
CustomDrawerActivity.this,
R.layout.custom_drawer_item,LIST_ITEMS);
drawerList.setAdapter(adapter);
drawerList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
drawerList.setItemChecked(position,true);
drawerLayout.closeDrawer(drawerList);
handleItem(position);
}
});
drawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
drawerToggle = new ActionBarDrawerToggle(
this,
drawerLayout,
R.string.drawerOpen,
R.string.drawerClose )
{
public void onDrawerClosed(View view) {
getSupportActionBar().setTitle("Etkinlik");
invalidateOptionsMenu();
}
public void onDrawerOpened(View drawerView) {
getSupportActionBar().setTitle("Çekmece");
invalidateOptionsMenu();
}
};
}
private void handleItem(int position){
setTitle(LIST_ITEMS[position]);
Fragment currentFragment;
switch (position){
case 0 :
showFragment(fragmentOne);
break;
case 1 :
showFragment(fragmentTwo);
break;
case 2 :
showFragment(fragmentThree);
break;
default:
showFragment(fragmentOne);
String message="Kotarılan orun "+position;
Toast.makeText(getApplicationContext(),message,Toast.LENGTH_SHORT).show();
}
}
private void showFragment(Fragment fragment){
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.contentFrame, fragment);
fragmentTransaction.commit();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (drawerToggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
drawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
drawerToggle.onConfigurationChanged(newConfig);
}
}
Dosyayı İndir