1.
AppCompatActivity 사용 ( 더 이상 ActionBarActivity 는 그만..대부분 deprecated 됨 )
2. toolbar 사용안함.
3. 롤리팝 메터리얼 디자인 가이드 적용
4. 사이드바 드로우시 아이콘 애니메이션 적용 ( 三 에서 <- 로 변하는 애니메이션 )
Gradle 쪽 소스추가부분
build.gradle (Module: app)
(targetSdkVersion 은 23)
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.0.0' compile 'com.android.support:support-v4:23.0.0'}
디자인 XML 쪽 소스
(DrawerLayout를 사용하면 첫번째는 FrameLayout 이 사용되어야 함 )
activity_main.xml
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity">
<FrameLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" />
<ListView android:id="@+id/list_drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="#f1f2f7" android:choiceMode="singleChoice" android:divider="@android:color/transparent" />
</android.support.v4.widget.DrawerLayout>
자바소스 부분
MainActiviy.java
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
public class MainActivity extends AppCompatActivity
{
DrawerLayout drawerLayout;
ActionBarDrawerToggle toggle;
@Override protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
//왼쪽상단 버튼 생성 getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
toggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.hi, R.string.bye) {};
drawerLayout.setDrawerListener(toggle);
toggle.syncState();
}
@Override public boolean onOptionsItemSelected(MenuItem item)
{
//왼쪽상단 버튼 누르면 사이드메뉴 튀어나오도록 if (toggle.onOptionsItemSelected(item))
{
return true;
}
return super.onOptionsItemSelected(item);
}
}