작업 표시줄 아래 그림자 제거
저는 액션 바 셜록을 사용합니다.아래 코드 조각은 사용자 지정 코드로 배경을 변경하는 역할을 합니다.
<style name="Widget.Styled.ActionBar" parent="Widget.Sherlock.ActionBar">
<item name="background">@drawable/actionbar_bg</item>
<item name="android:background">@drawable/actionbar_bg</item>
<...>
</style>
<style name="Theme.MyApp" parent="@style/Theme.Sherlock.Light">
<item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
<..>
</style>
또한 액션 막대 셔록(벌집 아래 버전)에도 사용할 수 있습니다.하지만 ICS에는 내가 원하지 않는 액션 바 아래에 그림자가 있습니다.그것을 사라지게 하는 스타일 아이템은 무엇입니까?
그것을 사라지게 하는 스타일 아이템은 무엇입니까?
그림자를 제거하려면 앱 테마에 다음을 추가합니다.
<style name="MyAppTheme" parent="android:Theme.Holo.Light">
<item name="android:windowContentOverlay">@null</item>
</style>
업데이트: @Quinny898이 언급했듯이, Android 5.0에서 이것은 변경되었습니다, 당신은 전화해야 합니다.setElevation(0)
당신의 액션 바에.과 같이 합니다
getSupportActionBar().setElevation(0);
Android 5.0의 경우 스타일로 직접 설정하려면 다음을 사용합니다.
<item name="android:elevation">0dp</item>
및 지원 라이브러리 호환성의 경우 다음을 사용합니다.
<item name="elevation">0dp</item>
AppCompat 라이트 테마의 스타일 예:
<style name="Theme.MyApp.ActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<!-- remove shadow below action bar -->
<!-- <item name="android:elevation">0dp</item> -->
<!-- Support library compatibility -->
<item name="elevation">0dp</item>
</style>
그런 다음 앱 테마에 이 사용자 지정 작업 표시줄 스타일을 적용합니다.
<style name="Theme.MyApp" parent="Theme.AppCompat.Light">
<item name="actionBarStyle">@style/Theme.MyApp.ActionBar</item>
</style>
5.0 이전 Android의 경우 앱 테마에 다음을 추가합니다.
<!-- Remove shadow below action bar Android < 5.0 -->
<item name="android:windowContentOverlay">@null</item>
Android 5.0에서는 이 설정이 변경되었으며, 수행 표시줄에서 setElevation(0)을 호출해야 합니다.지원 라이브러리를 사용하는 경우 다음과 같이 호출해야 합니다.
getSupportActionBar().setElevation(0);
창 내용오버레이 스타일 항목의 영향을 받지 않으므로 스타일을 변경할 필요가 없습니다.
더하다app:elevation="0dp"
AppBarLayout에서 AppBarLayout appBar 파일입니다.
작업 표시줄Sherlock으로 작업하는 경우
테마에 다음을 추가합니다.
<style name="MyTheme" parent="Theme.Sherlock">
....
<item name="windowContentOverlay">@null</item>
<item name="android:windowContentOverlay">@null</item>
....
</style>
설정해야 합니다.app:elevation="0dp"
에 시대에android.support.design.widget.AppBarLayout
그런 다음 작동합니다.
<android.support.design.widget.AppBarLayout
app:elevation="0dp"... >
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@android:color/transparent"
app:popupTheme="@style/AppTheme.PopupOverlay" >
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
app:elevation="0dp"
하지만 아닙니다.
android:elevation="0dp"
안드로이드 L에서 저를 위해 일했습니다.
저도 같은 문제를 가지고 있고, 이 문제를 성공적으로 해결했습니다.표고를 제거할 활동에서 표고를 0 부동 소수점 값으로 변경하기만 하면 됩니다.
다음 활동에서 변경하려면 다음 작업을 수행합니다.MyActivity.java
그래서 당신은 그것을 받아야 합니다.ActionBar
먼가오기를 .ActionBar
시간
import android.support.v7.app.ActionBar;
가져온 후 작업 표시줄의 변수를 초기화하고 표고를 0으로 설정해야 합니다.
private ActionBar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
.
.
toolbar=getSupportActionBar();
toolbar.setElevation(0);
.
.
}
Kotlin용 솔루션(Android 3.3, Kotlin 1.3.20)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
supportActionBar!!.elevation = 0f
}
Developers의 경우 하십시오.SupportActionBar.Elevation = 0;
위해서AppCompatActivity
또는ActionBar.Elevation = 0;
되지 않는 활동의 에는 다음을 참조하십시오.
Try 이것은 테마를 바꾸지 않고 도움이 되었습니다. 앱바 레이아웃을 레이아웃 안에 넣으십시오.이것이 당신에게 도움이 되기를 바랍니다.
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="false"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:layout_height="?attr/actionBarSize"
android:background="@color/white">
<ImageView
android:src="@drawable/go_grocery_logo"
android:layout_width="108dp"
android:layout_height="32dp" />
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
</RelativeLayout>
추가할 내용toolbar.getBackground().setAlpha(0);
OnCreate 메서드 내부로 이동합니다.합니다.android:elevation="0dp" android:background="@android:color/transparent
도구 모음 xml 파일로 이동합니다.
, fragment 작업을 fragment 작업을 하다가 .toolbar.getBackground().setAlpha(0);
또는 사라지면 xml의 마지막으로 AppBarLayout을 가져와야 합니다. 그래서 fragment, AppBarLayout, relativelayout, relativelayout, relativelayout, relativelayout, relativelayout 중 어느 것을 사용하든.
사용:
outLineAmbientShadowColor="@null"
언급URL : https://stackoverflow.com/questions/12246388/remove-shadow-below-actionbar
'programing' 카테고리의 다른 글
jQuery - 텍스트 영역에서 모든 텍스트 선택 (0) | 2023.08.24 |
---|---|
IHTmlContent/TagBuilder를 C#의 문자열로 변환 (0) | 2023.08.19 |
윈도우즈 파워셸로 숨겨진 파일(도트 파일)을 표시하는 방법 (0) | 2023.08.19 |
Powershell을 사용하여 상위 스코프 변수를 수정하는 방법 (0) | 2023.08.19 |
하단 탐색 보기 아이콘과 텍스트 레이블을 항상 표시합니다. (0) | 2023.08.19 |