需要做一個(gè)類似于知乎的效果旬痹,真的是踩了無(wú)數(shù)坑折晦。
xml中
<android.support.v7.widget.Toolbar
android:id="@+id/tb_title"
android:layout_width="match_parent"
android:layout_height="@dimen/dimen_50"
android:background="@color/color_1196db"
toolbar:title="首頁(yè)"
toolbar:navigationIcon="@mipmap/toolbar_menu"
toolbar:titleTextColor="@color/color_white"
toolbar:titleTextAppearance="@style/ToolBar.TitleText"
toolbar:theme="@style/ToolBar"></android.support.v7.widget.Toolbar>
Activity中
private Toolbar tbTitle;
@Override
public void initViews() {
tbTitle = findView(R.id.tb_title);
}
@Override
public void initData(Bundle bundle) {
tbTitle.inflateMenu(R.menu.userinfo);
}
@Override
public void initEvents() {
//設(shè)置左側(cè)圖標(biāo)的點(diǎn)擊事件
tbTitle.setNavigationOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
ToastUtils.show(activity,"點(diǎn)點(diǎn)點(diǎn)");
}
});
//設(shè)置菜單里的點(diǎn)擊事件
tbTitle.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
case R.id.update_data:
ToastUtils.show(activity,"修改資料");
break;
case R.id.update_password:
ToastUtils.show(activity,"修改密碼");
break;
}
return true;
}
});
}
style.xml中的樣式
<style name="ToolBar" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:textColorSecondary">@color/color_white</item>
<item name="android:textColorPrimary">@color/color_white</item>
<!--設(shè)置彈出框的樣式及彈出位置-->
<item name="actionOverflowMenuStyle">@style/OverflowMenuStyle</item>
</style>
<style name="OverflowMenuStyle" parent="@style/Widget.AppCompat.PopupMenu.Overflow">
<item name="overlapAnchor">false</item>
<item name="android:popupBackground">@color/color_1196db</item>
<item name="android:dropDownVerticalOffset">5dp</item>
<item name="android:dropDownHorizontalOffset">0dp</item>
</style>
<style name="ToolBar.TitleText" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="android:textSize">18sp</item>
</style>