마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

슬라이드메뉴 오른쪽에 추가로 메뉴를 넣고싶습니다

0 추천

MenuListAdapter.java

public class MenuListAdapter extends BaseAdapter {

 // Declare Variables
 Context context;
 String[] mTitle;
 String[] mSubTitle;
 int[] mIcon;
 LayoutInflater inflater;

 public MenuListAdapter(Context context, String[] title, String[] subtitle,
   int[] icon) {
  this.context = context;
  this.mTitle = title;
  this.mSubTitle = subtitle;
  this.mIcon = icon;
 }

 @Override
 public int getCount() {
  return mTitle.length;
 }

 @Override
 public Object getItem(int position) {
  return mTitle[position];
 }

 @Override
 public long getItemId(int position) {
  return position;
 }

 public View getView(int position, View convertView, ViewGroup parent) {
  // Declare Variables
  TextView txtTitle;
  TextView txtSubTitle;
  ImageView imgIcon;

  inflater = (LayoutInflater) context
    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
  View itemView = inflater.inflate(R.layout.drawer_list_item, parent,
    false);

  
  txtTitle = (TextView) itemView.findViewById(R.id.title);
  txtSubTitle = (TextView) itemView.findViewById(R.id.subtitle);

  
  imgIcon = (ImageView) itemView.findViewById(R.id.icon);

  
  txtTitle.setText(mTitle[position]);
  txtSubTitle.setText(mSubTitle[position]);

  
  imgIcon.setImageResource(mIcon[position]);

  return itemView;
 }

}

화면에서 왼쪽부분 끝자락을 터치후 >>>쪽으로 드래그하면

메뉴가 나오게됩니다

 

오른쪽에도 메뉴를 추가를하고싶은데

오른쪽 에서 왼쪽으로 드래그하면 메뉴가나타나게말이죠.. 

 

 

 

또 layout을 보면 화면도 검정색이고 칩셋부분에도 검정색인데

보통 하얀색이던데 색깔바꾸는법이있을까요...?

 

 

또 너무 끝자락에서드래그를 해야되서 불편함이있는데

화면아무대서나 터치후 왼쪽 또는 오른쪽으로 드로윙하면 메뉴가 나타나게하고싶은데

위코드에서 수정할부분이있을까요...

 

내용초과로 위에 MainActivity는 이미지로올리네여 ㅠㅠ

 

 

쏭잉님 (730 포인트) 님이 2013년 9월 16일 질문

1개의 답변

0 추천
 
채택된 답변

xml이 어떻게 구현됬는 지는 잘모르겠지만 ListView를 사용하시면 ListView하나더 구현하시고 Layout_gravity를 right로 주세요.

<ListView
        android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="left"
        android:background="#111"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp" />

    <ListView
        android:id="@+id/right_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="right"
        android:background="#111"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp" />

다음에 Activity에서 mListView가 들어가는 곳에 소스에 복사하시고 붙여넣기 한다음에 mListView를 지우시고 오른쪽에서 나오는 리스트뷰의 id값만 넣어주면 끝입니다.

private ListView mDrawerList, rDrawerList;

다른 부분도 예로 들면 아래와 같이 추가 하시면 됩니다.

mDrawerList.setOnItemClickListener(new DrawerItemClickListener());
rDrawerList.setOnItemClickListener(new DrawerItemClickListener());

그리고 필요없는 부분 지워주시면 끝입니다.

밤밤바 (1,450 포인트) 님이 2013년 9월 16일 답변
쏭잉님님이 2013년 9월 21일 채택됨
...