2012-12-20 2 views
2

취소 및 저장이라는 두 항목으로 작업 표시 줄을 표시하려고 시도하지만이 표시 줄은 작업 표시 줄의 전체 길이에 걸쳐 배치해야합니다 (예 :ActionBarSherlock을 사용하여 메뉴 항목 가운데 맞추기 및 전체 너비 설정

).
______________________________ 
|____Cancel____|____Save ____| 
|       | 
|       | 
|       | 
|       | 

기본적으로 두 개의 작업 항목 만 가운데에 표시하고 전체 작업 표시 줄에 걸쳐 표시하는 방법이 필요합니다.

가장 쉬운 방법은 무엇입니까? 커스텀 레이아웃을 사용하는 것을 고려 중입니다 만, 아직 액션 바를 사용하는 것이 처음이라서, 메뉴를 어떻게 사용할 수 있을지 모르겠습니다.

어떤 스타일링 솔루션이 있습니까? 가장 좋은 방법은 무엇입니까? 이 액션 바, 사용자 정의 레이아웃으로 이동 처음이기 때문에

편집

, 나에 대한 어떤 느낌가있어 어떤 일을하고 무엇을 간단하게 작동하지 않습니다 희망 바보 방법입니다. 예를 들어,이에 사용자 정의 레이아웃을 설정 :

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_gravity="center_horizontal"> 

    <item android:id="@+id/menu_item_cancel" 
      android:showAsAction="always" 
      android:title="Cancel"/> 

    <item android:id="@+id/menu_item_save" 
      android:showAsAction="always" 
      android:title="Save" /> 
</menu> 

는 인플레이션 예외가 발생하고 작동하지 않습니다, 그리고 더 많은 경험을 가진 다른 사람들 rightaway이 작동하지 않습니다 알 수 있지만, 나는 시간을 굽기에 대한 어설픈 남아있어 내 길을 느낄 수있을 때까지 또는 누군가가 올바른 방향으로 나를 가리킨다.

그래서 내가 뭘 시도했는지 묻는 사람들에게는 게시를 계속하겠습니다. 2

ClassNotFoundException가 얻기

시도 : 클래스 "android.view.menu"

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="center_horizontal"> 

    <menu android:layout_gravity="center_horizontal"> 

     <item android:id="@+id/menu_item_cancel" 
       android:showAsAction="always" 
       android:title="Cancel"/> 

     <item android:id="@+id/menu_item_save" 
       android:showAsAction="always" 
       android:title="Save" /> 
    </menu> 

</LinearLayout> 

3 경로에이 거의 제외하고, 작동

을 시도 찾지 못했습니다 각 버튼의 상단 부분 만 볼 수 있습니다. 행동 바에는 제대로 그릴 수있는 충분한 공간이있는 것처럼 보이지만 하반부는 잘립니다.

정상적인 버튼 및 구분선이기 때문에 액션 아이템 스타일도 잃게됩니다. 나는 오히려 네이티브 액션 아이템을 사용하는 솔루션을 찾는다. 애플 리케이션 전반에 걸쳐 액션 바의 나머지 부분과 함께 스타일을 쉽게 지정하기 때문이다. 4

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_gravity="center_horizontal"> 

       <Button 
        android:id="@+id/cancel_btn" 
        android:layout_width="0dp" 
        android:layout_height="fill_parent" 
        android:layout_weight="1" 
        android:text="Cancel" /> 

       <Button 
        android:id="@+id/save_btn" 
        android:layout_width="0dp" 
        android:layout_height="fill_parent" 
        android:layout_weight="1" 
        android:text="Save" /> 
</LinearLayout> 

이 하나가 아주 가까이하려고합니다. ActionBarSherlock 데모 프로젝트를 진행하면서 분할 메뉴 막대를 사용할 때 레이아웃이 중심에 놓이는 경향이 있음을 알았습니다. 그래서 저는 사용하고 있던 원래 메뉴로 돌아가서 showAsAction ifRoom 값을 추가했습니다.

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" > 

    <item android:id="@+id/menu_item_cancel" 
      android:showAsAction="ifRoom" 
      android:title="Cancel"/> 

    <item android:id="@+id/menu_item_save" 
      android:showAsAction="ifRoom" 
      android:title="Save"/> 
</menu> 

는 또한 매니페스트에 내 활동이 추가 :

android:uiOptions="splitActionBarWhenNarrow" 

이 나에게 내가 원하는 정확한 스타일을 제공합니다 ...하지만 분할 작업 표시 줄에 있습니다. 나는 이것을 맨 아래에, 맨 ​​밑에서는 원한다.안드로이드 2.2와 에뮬레이터에서 이것을 실행하지만, 텍스트의 길이에 비례하여 두 가지 옵션의 중심에있는 것처럼 보이므로 취소 영역이 저장 영역보다 큽니다.

누군가가이 스타일링을 얻는 방법을 알고 있지만 최상위 작업 표시 줄에 있으면 모든 것을 수정할 수 있습니다.

+0

http : // www.whathaveyoutried.com /'? – rekire

+0

지금 사용자 지정보기에 다른 접근 방식을 시도하고 있습니다. 그러나, 나는 또한 시간을 절약 할 수있는 쉽고, 잘 알려진 접근법이 있는지 알고 싶다. 나는 내가 시도한대로 내 질문을 업데이트 할 것이다. – InverseFalcon

답변

0

네이티브 작업 표시 줄 스타일 또는 옵션으로이 작업을 수행 할 수있는 방법이 아닌 것 같습니다. 세 번째 시도와 비슷한 맞춤보기를 사용했고 수정 된 스타일과 배경을 사용하여 작업 표시 줄을 모방했습니다.

관련 문제