2011-11-26 2 views
0

가능한 중복 :
SubMenu Layout Android사용자 정의 하위 메뉴 Android - 어떤 도움말?

는 다음과 같은 하위 메뉴가 두 번째 (포토샵) 이미지처럼 보이게 어쨌든이 있나요?

<menu> 
    <item android:id="@+id/facebook_icon" 
     android:title="Share With Facebook" 
     android:icon="@drawable/ic_menu_facebook" /> 

    <item android:id="@+id/twitter_icon" 
     android:title="Share With Twitter" 
     android:icon="@drawable/ic_menu_twitter" />   
</menu> 

난 당신이 어떤 아이디어가 있다면 나는 그들을 듣고 감사하겠습니다 (가 같이 할 : 여기 enter image description here

는 그것을위한 XML 파일입니다

현재이 내 하위 메뉴입니다!) : enter image description here

답변

1

예, 가능합니다. 다음과 같은 몇 가지 일을보십시오 :

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10px">  <ImageView android:id="@+id/icon_item" android:layout_width="wrap_content" 
       android:layout_height="fill_parent"/> 
       <TextView android:id="@+id/text_item" android:layout_width="wrap_content" 
        android:layout_height="fill_parent" android:paddingLeft="10px" 
        android:paddingTop="5px" android:textStyle="bold" 
        android:textColor="#000000"/> 
     </LinearLayout> 

4 : 1. 귀하의 항목 유형 어댑터에 대한

public final class AccountTypesProvider { 
    public static List<AccountType> accountTypes = Collections.unmodifiableList(Arrays.asList(
     new AccountType(AccountType.TWITTER_ACCOUNT, "Twitter", R.drawable.ic_menu_twitter), 
     new AccountType(AccountType.FACEBOOK_ACCOUNT, "Facebook", R.drawable.ic_menu_facebook)  
)); 
} 

2.Create ListAdapter

public final class AccountsTypesListAdapter extends ArrayAdapter<AccountType> { 
    private Activity context; 
    private List<AccountType> accountTypes; 
    public AccountsTypesListAdapter(Activity context, List<AccountType> accountTypes) { 
    super(context, R.layout.select_account_item, accountTypes); 
    this.context = context; 
    this.accountTypes = accountTypes; 
    } 
    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
    LayoutInflater inflater = context.getLayoutInflater(); 
    View row = inflater.inflate(R.layout.select_account_item, parent, false);  
    TextView label = (TextView) row.findViewById(R.id.text_item); 
    label.setText(accountTypes.get(position).title);  
    ImageView icon = (ImageView) row.findViewById(R.id.icon_item); 
    icon.setImageResource(accountTypes.get(position).bigIconId); 
    return row; 
    } 
} 

3.Layout를 저장하는 클래스를 만듭니다. 그리고 귀하의 대화 상자

public static void showSelectAccountTypeDialog(Activity context, String title, OnClickListener dialogListener) { 
    AlertDialog.Builder builder = new AlertDialog.Builder(context); 
    builder.setTitle(title); 
    builder.setAdapter(new AccountsTypesListAdapter(context, AccountTypesProvider.accountTypes), dialogListener); 
    builder.create().show(); 
    } 

이 코드는 here에서 가져온 것입니다.

0

나쁜 소식은 컨텍스트 메뉴가 아이콘을 지원하지 않는다는 것입니다.

좋은 소식은 그것에 대해 뭔가 할 수 있다는 것입니다. 그러나 더 많은 작업이 필요합니다. 필요한 단계를 설명하는 this article을 따르거나 쉬운 방법으로 this one과 같은 라이브러리를 사용할 수 있습니다.