Created
October 24, 2014 16:47
-
-
Save ryugoo/1cb985bc7ee6451967b4 to your computer and use it in GitHub Desktop.
AppCompat v21
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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"> | |
<FrameLayout | |
android:layout_width="match_parent" | |
android:layout_height="match_parent"> | |
</FrameLayout> | |
<LinearLayout | |
android:id="@+id/drawer_list" | |
android:orientation="horizontal" | |
android:layout_gravity="start" | |
android:layout_width="240dp" | |
android:layout_height="match_parent" | |
android:background="@android:color/white"> | |
</LinearLayout> | |
</android.support.v4.widget.DrawerLayout> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<menu xmlns:android="http://schemas.android.com/apk/res/android" | |
xmlns:tools="http://schemas.android.com/tools" | |
xmlns:app="http://schemas.android.com/apk/res-auto" | |
tools:context=".MyActivity"> | |
<item | |
android:id="@+id/action_search" | |
android:title="Search" | |
android:icon="@android:drawable/ic_menu_search" | |
app:actionViewClass="android.support.v7.widget.SearchView" | |
app:showAsAction="ifRoom" | |
tools:ignore="HardcodedText,UnusedAttribute"/> | |
<item | |
android:id="@+id/action_settings" | |
android:title="@string/action_settings" | |
android:orderInCategory="100" | |
app:showAsAction="never"/> | |
</menu> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.content.res.Configuration; | |
import android.os.Bundle; | |
import android.support.v4.view.MenuItemCompat; | |
import android.support.v4.widget.DrawerLayout; | |
import android.support.v7.app.ActionBarActivity; | |
import android.support.v7.app.ActionBarDrawerToggle; | |
import android.support.v7.widget.SearchView; | |
import android.util.Log; | |
import android.view.Menu; | |
import android.view.MenuItem; | |
import android.view.View; | |
public class MyActivity extends ActionBarActivity implements SearchView.OnQueryTextListener { | |
final private static String TAG = MyActivity.class.getSimpleName(); | |
private ActionBarDrawerToggle mDrawerToggle; | |
private DrawerLayout mDrawerLayout; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_my); | |
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); | |
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.app_name, R.string.app_name) { | |
@Override | |
public void onDrawerOpened(View drawerView) { | |
super.onDrawerOpened(drawerView); | |
invalidateOptionsMenu(); | |
} | |
@Override | |
public void onDrawerClosed(View drawerView) { | |
super.onDrawerClosed(drawerView); | |
invalidateOptionsMenu(); | |
} | |
}; | |
mDrawerToggle.setDrawerIndicatorEnabled(true); | |
mDrawerLayout.setDrawerListener(mDrawerToggle); | |
getSupportActionBar().setDisplayHomeAsUpEnabled(true); | |
getSupportActionBar().setDisplayShowHomeEnabled(true); | |
} | |
@Override | |
public boolean onPrepareOptionsMenu(Menu menu) { | |
final View view = findViewById(R.id.drawer_list); | |
final boolean isOpened = mDrawerLayout.isDrawerOpen(view); | |
final MenuItem search = menu.findItem(R.id.action_search); | |
final MenuItem options = menu.findItem(R.id.action_settings); | |
search.setVisible(!isOpened); | |
options.setVisible(!isOpened); | |
return super.onPrepareOptionsMenu(menu); | |
} | |
@Override | |
public boolean onCreateOptionsMenu(Menu menu) { | |
getMenuInflater().inflate(R.menu.my, menu); | |
// SearchView | |
MenuItem menuItem = menu.findItem(R.id.action_search); | |
final SearchView searchView = (SearchView) MenuItemCompat.getActionView(menuItem); | |
if (searchView != null) { | |
searchView.setOnQueryTextListener(this); | |
} | |
return super.onCreateOptionsMenu(menu); | |
} | |
@Override | |
public boolean onOptionsItemSelected(MenuItem item) { | |
return mDrawerToggle.onOptionsItemSelected(item) || super.onOptionsItemSelected(item); | |
} | |
@Override | |
protected void onPostCreate(Bundle savedInstanceState) { | |
super.onPostCreate(savedInstanceState); | |
mDrawerToggle.syncState(); | |
} | |
@Override | |
public void onConfigurationChanged(Configuration newConfig) { | |
super.onConfigurationChanged(newConfig); | |
mDrawerToggle.onConfigurationChanged(newConfig); | |
} | |
@Override | |
public boolean onQueryTextSubmit(String text) { | |
Log.d(TAG, text); | |
return false; | |
} | |
@Override | |
public boolean onQueryTextChange(String text) { | |
Log.d(TAG, text); | |
return false; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment