一、ToolBar標題欄的使用
toolbar標題欄:一個 ToolBar 的基本組成,包括左側導航圖示、標題、子標題等,
具體的創建步驟如下:
1、隱藏頁面自帶標題欄
(1)將應用主題設為 NoActionBar
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
>
(2)在 Java 代碼中呼叫 requestWindowFeature()方法
注意:有些android studio軟體可能因為版本的不同,無法呼叫這個方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE)
setContentView(R.layout.activity_study);
……
}
2、在頁面布局檔案中加入 ToolBar
在頁面布局設計中,加入androidx.appcompat.widget.Toolbar控制元件,根據toolbar欄的功能需要,可以在里面添加其他的控制元件,
具體代碼省略
3、在 Activity 代碼中設定 ToolBar
public class MainActivity extends AppCompactActivity {
private ToolBar toolBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolBar = findViewById(R.id.toolbar);
//設定 Logo 圖示
toolBar.setLogo(R.drawable.logo);
//設定左側導航圖示
toolBar.setNavigationIcon(R.drawable.ic_back);
//設定標題
toolBar.setTitle("標題欄");
//設定標題文字顏色
toolBar.setTitleTextColor(Color.BLACK);
//設定子標題
toolBar.setSubtitle("子標題欄");
//設定背景顏色
toolBar.setBackgroundResource(R.color. colorAccent);
//設定 ToolBar 物件
setSupportActionBar(toolBar);
toolbar.setNavigationOnClickListener(
new OnClickListener(){
@Override
public void onClick(View v) {
finish();
}
);
}
}
在這里尤為要注意的是添加導航圖示點擊事件監聽之前需要寫setSupportActionBar()方法以使用設定好的toolbar控制元件,
以上步驟就能實作一個簡單的toolbar工具列
二、選單控制元件的使用
選單項:對于ToolBar 上沒有空間完全顯示的選單項或設
置為不顯示的選單項則隱藏在右側的溢位選單中,
1、添加選單資源
在res目錄下,創建個menu存放選單資源檔案夾

添加item:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/action_search"
android:title="搜索"
android:icon="@mipmap/xuexi"
app:showAsAction="always"
app:actionViewClass="androidx.appcompat.widget.SearchView"
/>
<item android:id="@+id/action_join"
android:title="加入"
android:icon="@mipmap/huodong"
app:showAsAction="always"/>
<item android:id="@+id/action_notifications"
android:title="提示"
android:icon="@mipmap/user_photo"
app:showAsAction="ifRoom"/>
<item android:id="@+id/action_quit"
android:title="退出"
android:orderInCategory="100"
android:icon="@mipmap/left"
app:showAsAction="never"/>
</menu>
我這里添加了搜索欄searchview,
2、加載選單
@Override
public Boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
3、給選單項添加點擊事件
//工具列選單項點擊事件
toolBar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch(item.getItemId()) {
case R.id.action_join:
Toast.makeText(MainActivity.this,"點擊加入",
Toast.LENGTH_SHORT).show();
break;
case R.id.action_notifications:
Toast.makeText(MainActivity.this,"點擊提示",
Toast.LENGTH_SHORT).show();
break;
case R.id.action_quit:
Toast.makeText(MainActivity.this,"點擊退出",
Toast.LENGTH_SHORT).show();
break;
case R.id.action_search:
Toast.makeText(MainActivity.this,"點擊搜索",
Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return true;
}
});
注意,以上代碼需要放在setSupportActionBar()之后,否則不起作用,
下面介紹底部導航欄的使用
控制元件:BottomNavigationView
1、匯入依賴包
在使用該控制元件之前需要在dependencies中匯入依賴包:’com.google.android.material:material:1.2.0’;
2、設計底部導航欄
此處的思路同使用menu組件時候的實作思路一樣,仍然需要在menu檔案夾中完成
具體代碼:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/points"
android:icon="@drawable/points"
android:title="積分" />
<item
android:id="@+id/answer"
android:icon="@drawable/answer"
android:title="答題" />
<item
android:id="@+id/study"
android:icon="@drawable/study"
android:title="學習" />
<item
android:id="@+id/radio"
android:icon="@drawable/ radio "
android:title="電臺" />
<item
android:id="@+id/tv"
android:icon="@drawable/tv"
android:title="電視臺" />
</menu>
3、將 BottomNavigationView 控制元件加入布局
根據底部欄所在的包,添加一個BottomNavigationView 控制元件,并設定背景、文字顏色、圖示顏色等屬性
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.StudyActivity">
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottom_nav"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
android:background="#ffffff"
app:itemBackground="@null"
app:itemIconTint="@drawable/selector_nav"
app:itemTextColor="@drawable/selector_nav"
app:labelVisibilityMode="labeled"
app:menu="@menu/nav_menu" />
</RelativeLayout>
4、添加 BottomNavigationView 點擊效果
通常需要將BottomNavigationView 控制元件與fragement相結合使用,
具體實作說明省略
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/374827.html
標籤:其他
