Android 5.0 의 Toolbar 를 깊이 이해 합 니 다.
XML 레이아웃 에 추가:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"/>
테마 숨 기기 Action Bar:
Theme.AppCompat.Light.NoActionBar
Activity 코드 에 추가:
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
이 때 실행 효과:배경 색 추가
android:background="@color/colorPrimary"
이 때 실행 효과:기본 속성 설정
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
app:navigationIcon="@mipmap/title_bar_back"//
app:subtitle=" "
app:subtitleTextColor="#fff" //
app:title=" "
app:titleTextColor="#fff"/> //
실행 효과:옵션 메뉴 추가
첫 번 째 메뉴 파일 만 들 기
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item
android:id="@+id/action_settings"
android:icon="@mipmap/ic_launcher"
android:orderInCategory="100"
android:title="settings"
app:showAsAction="never"/>
<item
android:id="@+id/action_share"
android:icon="@mipmap/ic_action_share"
android:orderInCategory="100"
android:title="settings"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/action_search"
android:icon="@mipmap/ic_action_search"
android:orderInCategory="100"
android:title="settings"
app:showAsAction="ifRoom"/>
</menu>
두 번 째 부분 은 코드 에 onCreate Options Menu 방법 으로 메뉴 파일 을 불 러 옵 니 다.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
이때 효과:개성 설정
왼쪽 화살표 되 돌리 기
가 져 온 반환 화살 표를 표시 하려 면 이전에 설정 한 속성 을 제거 해 야 합 니 다:
app:navigationIcon="@mipmap/title_bar_back"
그리고 코드 에 추가:
getSupportActionBar().setHomeButtonEnabled(true); //
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
이때 효과:넘 침 아이콘 색상
style 파일 에 추가:
<!-- -->
<item name="colorControlNormal">@android:color/white</item>
이때 효과:오른쪽 넘 침 아이콘 사용자 정의
Style 파일 에 추가:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!-- -->
<item name="colorControlNormal">@android:color/white</item>
<!-- -->
<item name="android:actionOverflowButtonStyle">@style/OverflowButtonStyle</item>
</style>
<style name="OverflowButtonStyle" parent="android:Widget.ActionButton.Overflow">
<item name="android:src">@mipmap/ic_action_add</item>
</style>
이 때 실행 효과:팝 업 메뉴 배경 변경
스타일 파일 에 스타일 추가:
在布局文件中添加使用主题:
app:popupTheme="@style/ToolbarPopupTheme"
이 때 실행 효과:팝 업 메뉴 텍스트 색상 변경
스타일 파일 추가:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!-- -->
<item name="colorControlNormal">@android:color/white</item>
<item name="android:actionOverflowButtonStyle">@style/OverflowButtonStyle</item>
<!-- -->
<item name="textAppearanceLargePopupMenu">@style/Overflow_Menu_Text_style</item>
</style>
<!-- -->
<style name="Overflow_Menu_Text_style" parent="@style/TextAppearance.AppCompat.Widget.PopupMenu.Large">
<item name="android:textColor">#fff</item>
</style>
이 때 실행 효과:제목 텍스트 크기 변경
설정 추가:
app:titleTextAppearance="@style/ToolbarTitleSize"
스타일 추가:
<!-- toolbar -->
<style name="ToolbarTitleSize" parent="@style/TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="android:textSize">28sp</item>
</style>
이 때 실행 효과:하위 제목 텍스트 크기 가 유사 합 니 다.설정 을 추가 하고 style 파일 을 정의 합 니 다.(생략)
app:subtitleTextAppearance="@style/ToolbarTitleSize"
팝 업 메뉴 위치 수정팝 업 메뉴 를 Toolbar 아래 에 표시 하도록 설정 변경:
우선 속성 재 설정:(인터페이스 레이아웃 파일 Toolbar 에서)
app:popupTheme="@style/OverflowMenuStyle"
Style 파일 에 추가:
<style name="OverflowMenuStyle">
<!-- , true, Toolbar -->
<item name="overlapAnchor">false</item>
<item name="android:dropDownWidth">wrap_content</item>
<item name="android:paddingRight">5dp</item>
<!-- -->
<item name="android:colorBackground">#FFCC99</item>
<!-- , Toolbar , Toolbar -->
<item name="android:dropDownVerticalOffset">5dp</item>
<!-- , , -->
<item name="android:dropDownHorizontalOffset">0dp</item>
<!-- -->
<item name="android:textColor">#0099CC</item>
</style>
이 때 실행 효과:이벤트 처리
복귀 단추 이벤트
감청 추가
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), " ", Toast.LENGTH_LONG).show();
}
});
메뉴 항목 클릭 이벤트재 작성 방법
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_settings:
break;
case R.id.action_search:
break;
case R.id.action_share:
break;
}
return true;
}
사용자 정의 도구 모음Toolbar 아래 에 레이아웃 을 끼 워 넣 을 수 있 습 니 다.직접 정 의 된 레이아웃 을 Toolbar 아래 에 놓 으 면 됩 니 다.
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
......
</RelativeLayout>
</android.support.v7.widget.Toolbar>
Toolbar 와 DrawerLayout 왼쪽 슬라이더 메뉴
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_left"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#CCCCFF"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:text=" "
android:textSize="18sp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:text=" "
android:textSize="18sp"/>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
왼쪽 슬라이더 레이아웃 파일 추가:홈 레이아웃 파일 에 가 져 오기:(Toolbar 아래)
<!--DrawerLayout-->
<include layout="@layout/custom_drawerlayout"/>
코드 에 연결 추가:
DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_left);
ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.open, R.string.close);
mDrawerToggle.syncState();
mDrawerLayout.setDrawerListener(mDrawerToggle);
이 때 실행 효과:새 버 전 studio 는 Activity 를 새로 만 들 때 해당 하 는 템 플 릿 을 선택 할 수 있 습 니 다.DrawerLayout 를 자동 으로 만 들 고 Toolbar 와 연 결 됩 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 댓 글 을 남 겨 주 십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.