2012-05-02 4 views
3

Android의 컨텍스트 메뉴에서 메뉴 항목 사이에 구분 기호를 추가 할 수 있습니까? 나는이 문서에 어떤 지시 사항도 보이지 않는다. 분명히 메뉴 항목은 다른 종류의 작업을 수행 할 때 어떤 경우에는 분리되어야합니다.Android의 컨텍스트 메뉴에 대한 항목 구분 기호

NB. 질문은 옵션 메뉴가 아니라 컨텍스트 메뉴에 관한 것입니다.

+0

상황에 맞는 메뉴를 추가 할 분리기의 종류를 구분 얇은 라인 목록의 형태로이 내용을 보여줍니다? –

+0

글쎄, 나는 독특한 구분 기호를 의미한다. 대부분의 다른 프로그래밍 환경에는 항목 그룹 사이의 논리적 경계를 표시하는 특수 분리 기호 "item"이 있습니다. 예를 들어 크롬 설정 메뉴를 살펴볼 수 있습니다. – Stan

답변

3

먼저 예를 들어 Icon Context Menu과 같은 상황에 맞는 메뉴의 사용자 지정 구현 만 생각했습니다. 이러한 코드는 메뉴 항목 클래스를 사용자 정의보기로 특정 메뉴 구분 기호 클래스로 확장 할 수 있도록합니다.

...하지만 약간의 시간이 나중에 나는 것을 발견했다 ...

또 다른 (더 쉽게) 솔루션은 놀랍게도이 '_'(밑줄) 문자의 행 (과 메뉴 항목을 추가 할 수 의 유일한 기호 여러 인스턴스를 간격없이 나란히 표시 할 수있는 안드로이드 폰트, 그리고 SpannableString을 사용하여 Java 코드의 항목 텍스트 정렬.

문자열 리소스 :

<string name="hr">______________________________</string> 

가 적절하게 문자열 길이를 조정합니다.

메뉴 레이아웃 :

<group android:checkableBehavior="none" android:enabled="false"> 
    <item android:id="@+id/menu_gap" 
     android:title="@string/hr" 
     android:enabled="false" /> 
</group> 

자바 :

private void alignCenter(MenuItem item) 
{ 
    SpannableString s = new SpannableString(item.getTitle()); 
    s.setSpan(new AlignmentSpan.Standard(Alignment.ALIGN_CENTER), 0, s.length(), 0); 
    item.setTitle(s); 
} 
관련 문제