我正在尝试使用setTitle和工具栏中的自定义视图显示标题。
我不把它当作动作栏,而只是视图。
我在Java中添加了标题和自定义视图
toolbar = (Toolbar) view.findViewById(R.id.toolbar);
if (title != null) {
toolbar.setTitle(title);
toolbar.setTitleTextColor(getResources().getColor(android.R.color.white));
}
if (subtitle != null) {
toolbar.setSubtitle(subtitle);
toolbar.setSubtitleTextColor(getResources().getColor(android.R.color.white));
}
// Add switch view to toolbar
View switchView = LayoutInflater.from(getActivity())
.inflate(R.layout.device_list_switch, null);
toolbar.addView(switchView);
我的切换视图的xml是
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/holo_blue_bright">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/discoverable"
android:layout_alignParentBottom="true"
android:layout_alignTop="@+id/discoverable"
android:layout_toLeftOf="@+id/discoverable"
android:layout_toStartOf="@+id/discoverable"
android:gravity="center"
android:text="@string/discoverable_switch_label"
android:textColor="@android:color/white"
/>
<Switch
android:id="@+id/discoverable"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginLeft="@dimen/discoverable_switch_margin_left"
android:layout_marginStart="@dimen/discoverable_switch_margin_left"/>
</RelativeLayout>
发生的情况是RelativeLayout填满整个工具栏区域,标题不可见。
有什么想法吗?
答案 0 :(得分:-1)
这可以通过在自定义视图旁边的工具栏中添加自己的标题(和副标题,如果需要的话)文本视图来解决。
但也许更好的方法是使用嵌套在第一个工具栏内的第二个工具栏。这样,所有格式都会为您处理。
<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/topToolbar"
android:layout_alignParentTop="true"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/titleToolbar"
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:contentInsetStart="0dp"
app:contentInsetLeft="0dp">
</android.support.v7.widget.Toolbar>
<CustomView... />
</LinearLayout>
</android.support.v7.widget.Toolbar>
答案 1 :(得分:-2)
如果您没有将工具栏用作ActionBar,那么也许您可以使用布局。
我使用的是LinearLayout而不是工具栏。
Toolbar为您提供了哪些优势?