[안드로이드 스튜디오] 슬라이딩 메뉴 예제
일단 GitHub 에서 설명을 보고, zip파일을 다운받습니다.
https://github.com/adamrocker/simple-side-drawer
zip파일 > simple-side-drawer-master > library 경로를 따라 가면
simple-side-drawer2.jar 이 파일이 있는데,
이 파일을 안드로이드 스튜디오 app > libs 폴더에 복사해주시면 됩니다. (드래그 복사도 돼요)
그리고 Tools > Android > Sync Project with Gradle Files 한번 해주세요~~!
1. 변수 선언
private SimpleSideDrawer mSlidingMenu;
2. onCreate 에서 선언
- left_menu 레이아웃은 직접 만들어주세요. (메뉴 레이아웃)
mSlidingMenu = new SimpleSideDrawer(this);
mSlidingMenu.setLeftBehindContentView(R.layout.left_menu);
3. 버튼 클릭 리스너 선언
Button btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mSlidingMenu.toggleLeftDrawer();
}
});
여기까지 하면 슬라이드 메뉴까지는 되는데 슬라이드 메뉴 터치가 안됩니다...
터치 이벤트나 그런 것들을 할 때는 버튼 onClick 안에 mSlidingMenu.toggleLeftDrawer(); 아래에 작성하시면 됩니다.
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mSlidingMenu.toggleLeftDrawer();
Button btn_left = (Button)getActivity().findViewById(R.id.btn_left);
btn_left.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//onClick 이벤트}
});
}
});
총 코드
import com.navdrawer.SimpleSideDrawer;
public class MainActivity extends Activity {
private SimpleSideDrawer mSlidingMenu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSlidingMenu = new SimpleSideDrawer(this);
mSlidingMenu.setLeftBehindContentView(R.layout.left_menu);
Button btn = (Button)findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mSlidingMenu.toggleLeftDrawer();
Button btn_left = (Button)getActivity().findViewById(R.id.btn_left);
btn_left.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//onClick 이벤트
}
});
}
});
}
}
미리보기
'IT > 안드로이드+JAVA' 카테고리의 다른 글
[안드로이드] split 사용법, split 공백, 공백 섞인 String 자르기 (0) | 2016.08.09 |
---|---|
[안드로이드] 프래그먼트 새로고침, 갱신, 리로드 (0) | 2016.08.09 |
[안드로이드] listview position, 내용 가져오기 (0) | 2016.08.04 |
[안드로이드] (Alert)Dialog dismiss() 없을 때 (0) | 2016.08.04 |
[안드로이드] EditText 포커스 이동 (0) | 2016.08.04 |