실제 결과 : 작업 표시 줄에 Toolbar
상태 표시 줄이 나타나고 작업 표시 줄의 MenuItem
이 잘립니다. 참고 : '테스트'는 작업 표시 줄의 title
입니다.투명한 상태 표시 줄이 작업 표시 줄과 겹침
예상 결과 : 은 작업 표시 줄 Toolbar
의 경계 상단 상태 표시 줄의 경계 바닥 바로 아래에 표시해야하며, 작업 표시 줄 내부에 MenuItem
의 완전히 볼 수 있어야합니다.
활동의 XML 레이아웃 :
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout_root"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/image_background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/background"
tools:ignore="ContentDescription"/>
<android.support.v7.widget.Toolbar
android:id="@+id/action_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@android:color/transparent"
android:fitsSystemWindows="true"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>
</FrameLayout>
작업 표시 줄 title
및 MenuItem
런타임에 추가됩니다. 나는 Toolbar
보기 fitsSystemWindows="true"
를 추가하기 전에
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
setSupportActionBar((Toolbar) findViewById(R.id.action_bar));
ActionBar actionBar = getSupportActionBar();
assert actionBar != null;
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setTitle("Test");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_test, menu);
return true;
}
는 상태 표시 줄은 여전히 작업 표시 줄을 오버레이하지만, 'SKIP'MenuItem
는 수직으로 상태 표시 줄 아래에 부분적으로 표시하는 원인이 작업 표시 줄의 중앙에 있었다. fitsSystemWindows=true
플래그가 내 기대 결과 (위에서 언급 한)를 제공 할 것으로 기대했지만 그렇지 않았습니다. fitsSystemWindows="true"
이 '건너 뛰기'버튼의 위치를 올바르게 지정했지만 액션 바 자체의 위치는 조정하지 않은 것과 같습니다. 누구든지 여기에 무슨 문제가 있을지 알고 있습니까?
편집 : 나는 fitsSystemWindows="true"
를 제거하고 Toolbar
보기에 marginTop="...statusBarHeight"
를 추가 할 수 있습니다 실현,하지만 난이 문제를 해결하기 위해 깨끗한 방법을 찾고 있어요.
전체 레이아웃 파일을 공유 할 수 있습니까? 및 레이아웃 미리보기 이미지? 나는 테스트를 볼 수없고 레이아웃에서 버튼 코드를 건너 뛸 수있다. – rahul
이 다른 레이아웃 일입니까? –
@rahul, 아마도 Ryan이 xml이 아닌 프로그래밍 방식으로 제목과 메뉴 항목을 추가합니다. –