2012-05-30 3 views
1

사용자가 여러 하위 카테고리를 표시하는 목록 항목을 클릭하면 ContextMenu를 내 ListActivity에 배치하려고합니다. 다른 대안 (ExpandableList, RadioButton 등)에 대해 귀찮게하지 마십시오.ContextMenu text overflowing

전체 텍스트가 잘리지 않고 표시되도록하려면 어떻게해야합니까? 저는 여기의 ContextMenu를 채우는 오전 방법은 다음과 같습니다는 menuItem 단순히 것을

@Override 
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
     super.onCreateContextMenu(menu, v, menuInfo); 

     //Fill context menu with appropriate subcategory 
     menu.setHeaderTitle("Categories"); 
     for(String item : menuItem) 
     { 
      menu.add(0, v.getId(), menu.size()+1, item); 
     } 
    } 

참고하는 String [] 배열

가 여기 내의 ContextMenu입니다. ContextMenu 사진을 게시하는 데 충분한 평판이없는 바보처럼 느껴집니다.

답변

0

내가 아는 유일한 방법은 코드가 아닌 XML로 메뉴를 만들고 텍스트 크기를 변경하여 모든 텍스트가 적합하도록하는 것입니다. 주변을 둘러 보았고 프로그램 생성 메뉴의 텍스트 크기를 변경하는 방법에 대한 정보를 찾을 수 없었습니다.

XML에서 컨텍스트 메뉴를 만드는 방법에 대한 문서는 here입니다.

0

비슷한 문제가 발생했습니다. 그러나 코드를 통해 제목을 설정하는 대신 메뉴 리소스 xml을 사용하고 있습니다.

메뉴 항목에는 제목이 잘리는 시나리오의 경우 제목과 "android : titleCondensed"둘 다 포함될 수 있습니다.

더 많은 사용자 정의 동작이 필요한 경우 표준 Android 메뉴 리소스가 제공하는 것과 비교하여 더 복잡한 동작을 설명하기 위해 자신의 레이아웃 리소스를 지정해야합니다. 본질적으로 기본 레이아웃을 사용자가 직접 재정의 할 수 있습니다.

문자열을 프로그래밍 방식으로 설정하여 다른 시간대에 다른 항목이있는 상황에 맞는 메뉴를 만들려면 xml 메뉴 리소스에서 제목과 압축 제목을 지정한 다음 onCreateContextMenu에서 "setMenuItemVisibility"를 호출하는 논리를 추가 할 수 있습니다. 주어진 시간에 표시하지 않으려는 항목을 걸러 내기 위해 각 항목에 대해

+0

[Android 메뉴 리소스] (https://developer.android.com/guide/topics/resources/menu-resource.html)에 대한 참조를 남겨 두지 않았습니다. – bduhbya