티스토리 뷰
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
Android: remove left margin from actionbar's custom layout
안드로이드: 액션바의 커스텀 레이아웃에서 왼쪽 여백 제거하기
문제 내용
I am using a custom actionbar view, and as you can see in the screenshot below, there is a blank gray space in the actionbar. I want to remove it.
저는 커스텀 액션바 뷰를 사용하고 있는데, 아래 스크린샷에서 볼 수 있듯이 액션바에 빈 회색 공간이 있습니다. 이 공간을 제거하고 싶습니다.
What have I done:
제가 한 일:
res/values-v11/styles.xml
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/ActionBarStyle</item>
<item name="actionBarStyle">@style/ActionBarStyle</item>
</style>
res/values/my_custom_actionbar.xml
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">
<item name="android:height">60dp</item>
</style>
</resources>
Manifest
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="19" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/AppName"
android:theme="@style/AppBaseTheme" >
<!-- activities... etc -->
</application>
MainActivity
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
ActionBar actionbar = getSupportActionBar();
actionbar.setDefaultDisplayHomeAsUpEnabled(false);
actionbar.setDisplayHomeAsUpEnabled(false);
actionbar.setDisplayShowCustomEnabled(true);
actionbar.setDisplayShowHomeEnabled(false);
actionbar.setDisplayShowTitleEnabled(false);
actionbar.setDisplayUseLogoEnabled(false);
actionbar.setHomeButtonEnabled(false);
// Add the custom layout
View view = LayoutInflater.from(this).inflate(R.layout.actionbar, null, false);
actionbar.setCustomView(view);
}
I have found a recent post, that is pointing out that there is an issue with the latest release. I have also updated ADT and SDK to Android 5.
최근 글을 찾아봤습니다. 그 글에서는 최신 릴리스에 문제가 있다는 것을 지적하고 있었습니다. 또한 ADT와 SDK를 안드로이드 5로 업데이트했습니다.
Android ActionBar's custom view not filling parent
안드로이드 액션바의 커스텀 뷰가 부모를 채우지 않는 문제가 발생합니다.
I don't know what should I do.
어떻게 해야 할지 모르겠어요.
Edit (partial solution):
편집(부분 솔루션):
Not working on Android <= API 10.
Android <= API 10에서 작동하지 않습니다.
Android Lollipop, AppCompat ActionBar custom view doesn't take up whole screen width
Android Lollipop, AppCompat ActionBar 사용자 지정 보기가 전체 화면 너비를 차지하지 않습니다
What have I changed:
내가 바꾼 것은 무엇인가:
Use the latest sdk version:
최신 sdk 버전 사용:
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="21" />
Add a toolbarStyle
:
toolbarStyle 추가:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/ActionBarStyle</item>
<item name="actionBarStyle">@style/ActionBarStyle</item>
<item name="android:toolbarStyle">@style/ToolbarStyle</item>
<item name="toolbarStyle">@style/ToolbarStyle</item>
</style>
<style name="ToolbarStyle" parent="@style/Widget.AppCompat.Toolbar">
<item name="contentInsetStart">0dp</item>
<item name="android:contentInsetStart">0dp</item>
</style>
높은 점수를 받은 Solution
If you are adding the Toolbar
via XML, you can simply add XML attributes to remove content insets.
XML을 통해 툴바를 추가하고 있다면, 콘텐츠 인셋(content inset)을 제거하는 XML 속성을 추가할 수 있습니다.
<android.support.v7.widget.Toolbar
xmlns:app="schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primaryColor"
android:contentInsetLeft="0dp"
android:contentInsetStart="0dp"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
android:contentInsetRight="0dp"
android:contentInsetEnd="0dp"
app:contentInsetRight="0dp"
app:contentInsetEnd="0dp" />
가장 최근 달린 Solution
Just add app:contentInsetStart="0dp"
to the XML attribute of the toolbar.
툴바의 XML 속성에 app:contentInsetStart="0dp"을 추가하면 됩니다.
출처 : https://stackoverflow.com/questions/27354812/android-remove-left-margin-from-actionbars-custom-layout
'개발 > 안드로이드' 카테고리의 다른 글
안드로이드에서 adjustResize와 adjustPan의 차이점 (0) | 2023.02.19 |
---|---|
안드로이드 인플레이트(inflate)의 의미 (0) | 2023.02.18 |
안드로이드 알림 대화상자에서 사용자 정의 리스트 뷰 표시하기 (0) | 2023.02.18 |
Android Webview: "Uncaught TypeError: Cannot read property 'getItem' of null" 수정하기 (0) | 2023.02.17 |
Activity의 content view를 가져오기 (0) | 2023.02.17 |