日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android设置toolbar高度,Android基础知识之 Toolbar 的使用

發布時間:2023/12/3 Android 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android设置toolbar高度,Android基础知识之 Toolbar 的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Toolbar是Android5.0推出的,用來替代ActionBar的控件.可以高度的自定義,使用靈活.官方的ToolBar是必須在5.0以上的系統才能使用,

如果需要在低版本中使用.需要使用support v7包中的Toolbar.

下一是官網的Toolbar的介紹:

Toolbar

extends ViewGroup

java.lang.Object

? android.view.View

? android.view.ViewGroup

? android.support.v7.widget.Toolbar

使用前提

要使用ToolBar需要將activity的ActionBar隱藏掉.那么如何隱藏呢?有三種方法.下面分別介紹

方法一:

在res/values/styles.xml文件中修改

false

true

也可以直接使用沒有ActionBar的主題

方法二:

在清單文件中修改制定activity的主題,如下所示:

android:theme="@style/Theme.AppCompat.Light.NoActionBar">

方法三:

直接在代碼中取消. 在setContentView之前.

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.activity_main);

//supportRequestWindowFeature(Window.FEATURE_NO_TITLE); 在AppCompatActivity中

怎么使用

在布局文件中.添加如下代碼. 位置不固定.

android:id="@+id/toolbar"

android:layout_width="match_parent"

android:layout_height="?android:attr/actionBarSize"

android:background="?attr/colorPrimaryDark"

app:title="Title"

app:titleTextColor="#222222"

app:logo="@mipmap/ic_launcher"

app:subtitle="subtitle">

title 用來設置標題.subtitle設置副標題 titleTextColor用來設置標題字體顏色.background用來設置背景顏色..效果如下:

在java代碼中也可以動態的設置這些值.

mToolbar.setTitle("JavaTitle");

mToolbar.setSubtitle("JavaSubTitle");

mToolbar.setLogo(R.mipmap.ic_launcher);

mToolbar.setNavigationIcon(android.R.drawable.ic_input_delete);

mToolbar.setOverflowIcon(ContextCompat.getDrawable(this, android.R.drawable.ic_menu_more));

// setActionBar(mToolbar); //activity中

setSupportActionBar(mToolbar); //AppCompatActivity中

添加Menu

要添加menu首先我們需要有menu,在這里我選擇在res/menu/中創建main.xml來定義menu文件.代碼如下

xmlns:app="http://schemas.android.com/apk/res-auto">

android:id="@+id/add"

android:icon="@android:drawable/ic_menu_add"

android:title="Add"

app:showAsAction="never|withText"/>

android:id="@+id/delete"

android:icon="@android:drawable/ic_menu_delete"

android:title="Delete"

app:showAsAction="never|withText"/>

android:id="@+id/edit"

android:icon="@android:drawable/ic_menu_edit"

android:title="Edit"

app:showAsAction="never|withText"/>

android:id="@+id/email"

android:icon="@android:drawable/sym_action_email"

android:title="Email"

app:showAsAction="never|withText"/>

下面是java文件中的代碼.

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case android.R.id.home:

Toast.makeText(MainActivity.this, "您點擊了NavigationIcon", Toast.LENGTH_SHORT).show();

break;

case R.id.add:

Toast.makeText(MainActivity.this, "Add", Toast.LENGTH_SHORT).show();

break;

case R.id.delete:

Toast.makeText(MainActivity.this, "Delete", Toast.LENGTH_SHORT).show();

break;

case R.id.edit:

Toast.makeText(MainActivity.this, "Edit", Toast.LENGTH_SHORT).show();

break;

case R.id.email:

Toast.makeText(MainActivity.this, "Email", Toast.LENGTH_SHORT).show();

break;

}

return true;

}

顯示Menu中的Icon

在寫到這里之后.我們會發現.隱藏的menu是不顯示icon的,那么我們怎么設置呢:

只需要重新一下方法: 這里的activity是 AppCompatActivity

@Override

protected boolean onPrepareOptionsPanel(View view, Menu menu) {

if (menu != null) {

if (menu.getClass() == MenuBuilder.class) {

try {

Method m = menu.getClass().getDeclaredMethod("setOptionalIconsVisible", Boolean.TYPE);

m.setAccessible(true);

m.invoke(menu, true);

} catch (Exception e) {

Log.i("tag", "onPrepareOptionsPanel: " +

getClass().getSimpleName() +

"onMenuOpened...unable to set icons for overflow menu"

+ e);

}

}

}

return super.onPrepareOptionsPanel(view, menu);

}

效果如下:

總結

以上是生活随笔為你收集整理的Android设置toolbar高度,Android基础知识之 Toolbar 的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。