2012-02-13 5 views
7

내 앱의 맞춤 홈 아이콘이 있으며 화면 가장자리를 터치하도록 작업 표시 줄의 왼쪽에 정렬하고 싶습니다. 가능한가요, 그렇다면 어떻게 할 수 있습니까? 패딩이나 여백을 설정하여 왼쪽으로 줄 이도록하는 항목은 없습니다.ActionBar에서 앱 아이콘과 화면 가장자리 사이의 여백을 제거하는 방법은 무엇입니까?

+0

홈 아이콘에 부착 된 패딩이나 마진이있다? 그렇다면 제거하십시오. Btw 우리에게 xml 파일에서 몇 가지 코드를 보여 주면 많은 사람들이 당신을 도울 수 있습니다. –

+0

xml이 없습니다. 단지 android : icon = "@ drawable/my_icon"을 매니페스트에 추가하고 ab.setDisplayShowHomeEnabled (true); ab.setDisplayUseLogoEnabled (false); 액티비티 – CACuzcatlan

답변

5

나는 이것을 마침내 얻을 수있었습니다. 사용자 정의 작업 표시 줄보기를 사용해야합니다. 그것은 아주 쉽게 사실이다 :

당신의 고해상도/값/themes.xml에서

  • 먼저 (이 ActionBarSherlock의를 사용하고, 그것은 ... 또한 주식의 compat 라이브러리와 함께 작동합니다)의 액션 바 디스플레이 설정 "사용자 정의"에 옵션 :

    <item name="android:displayOptions">showCustom</item> 
    
  • 다음의 고해상도/레이아웃/actionbar_layout.xml과 장소라는 파일을 만들고 그 뭔가 같은 :

    <ImageView 
        android:id="@+id/home_icon" 
        android:layout_alignParentLeft="true" 
        android:layout_marginLeft="5dp" 
        android:layout_marginRight="5dp" 
        android:layout_marginTop="5dp" 
        android:layout_marginBottom="5dp" 
        android:scaleType="centerCrop" 
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" /> 
    
    <!-- Add textviews or whatever you like here to replicate the actionbar 
        title etc. --> 
    

  • 다음으로, 활동 코드에 다음을 추가합니다

    View mActionCustomView = getSherlockActivity().getLayoutInflater() 
        .inflate(R.layout.actionbar_layout, null); 
    getSherlockActivity().getSupportActionBar().setCustomView(
         mActionCustomView); 
    
    ImageView homeIcon = (ImageView)mActionCustomView 
        .findViewById(R.id.home_icon); 
    int abHeight = getSherlockActivity().getSupportActionBar() 
        .getHeight(); 
    homeIcon.setLayoutParams(new RelativeLayout.LayoutParams(
          abHeight, abHeight)); 
    

즉 기본적입니다! 내가 빠뜨린 것이 있다면 알려줘. 사용자 정의 가능한 액션 바보기가 기본으로 충실하고 멋지게 보이는 장점이 있습니다.

enter image description here

+0

homeicon 레이아웃 매개 변수를 설정할 필요가 없으며 @ + id/home_icon의 여백을 0으로 설정하면됩니다 (예에서와 같이 5dp 대신). – scottyab

+0

themes.xml이 없습니다 ... –

+0

@OnuraySahin http://developer.android.com/reference/android/app/ActionBar.html#setDisplayShowCustomEnabled%28boolean%29 코드에서 동일한 옵션을 설정할 수 있습니다 – brk3

관련 문제