Titlebar 进入 Toolbar 中的 ToggleButton
Titlebar get into ToggleButton in Toolbar
我正在尝试使用以下代码在 toolbar
中创建一个 togglebutton
:
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="#acacac">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="#acacac"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_alignParentBottom="true"
android:background="#202020" />
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/check"
android:layout_margin="10dp"
android:focusable="false"
android:focusableInTouchMode="false"
android:textOn=""
android:textOff=""
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
</android.support.design.widget.AppBarLayout>
但是当我设置标题时,标题进入或与切换按钮合并:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
settitle("Whosebug");
关于 Toolbar
的好消息与旧的 ActionBar
不同的是,工具栏很容易定制。这就是我定制您的布局的方式。首先,我在您的工具栏中添加了水平线性布局 Linear Layout
作为视图。我已经删除了 ToggleButton
并将其添加到 LinearLayout
中,就在 TextView
之后,它现在将成为您的应用程序标题。如果您不介意,您可以直接使用 XML 设置标题 所以这是您的新 Toolbar
请先删除(或隐藏)您的 ToogleButton
和 Toolbar
并粘贴以下代码位于 Toolbar
所在的位置。
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="4dp"
android:layout_weight="1"
android:ellipsize="end"
android:lines="1"
android:text="title here or even @string/Something"
android:textColor="#ffffff"
android:textSize="20sp" />
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/check"
android:focusable="false"
android:focusableInTouchMode="false"
android:textOff=""
android:textOn="" />
</LinearLayout>
</android.support.v7.widget.Toolbar>
目前在我的 Android 工作室中是这样的:
当你想设置你的文字较长时,你会看到点(...)当它较小时你会看到它。
从现在开始,让我们谈谈您代码中的更改。
您的 Toolbar
标题将是您 TextView
你不再需要这条线了。
toolbar.setTitle("Whosebug");
您可以直接在 xml
或 Java
代码中使用您的 TextView
。请记住,您也可以像普通布局一样增加 TextSize
。在代码中你可以使用
TextView text_title=(TextView)findViewById(R.id.title);
text_title.setText("stack Overflow");
编码愉快!
我正在尝试使用以下代码在 toolbar
中创建一个 togglebutton
:
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="#acacac">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="#acacac"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<View
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_alignParentBottom="true"
android:background="#202020" />
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/check"
android:layout_margin="10dp"
android:focusable="false"
android:focusableInTouchMode="false"
android:textOn=""
android:textOff=""
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
</android.support.design.widget.AppBarLayout>
但是当我设置标题时,标题进入或与切换按钮合并:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
settitle("Whosebug");
关于 Toolbar
的好消息与旧的 ActionBar
不同的是,工具栏很容易定制。这就是我定制您的布局的方式。首先,我在您的工具栏中添加了水平线性布局 Linear Layout
作为视图。我已经删除了 ToggleButton
并将其添加到 LinearLayout
中,就在 TextView
之后,它现在将成为您的应用程序标题。如果您不介意,您可以直接使用 XML 设置标题 所以这是您的新 Toolbar
请先删除(或隐藏)您的 ToogleButton
和 Toolbar
并粘贴以下代码位于 Toolbar
所在的位置。
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="4dp"
android:layout_weight="1"
android:ellipsize="end"
android:lines="1"
android:text="title here or even @string/Something"
android:textColor="#ffffff"
android:textSize="20sp" />
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="40dp"
android:layout_height="40dp"
android:background="@drawable/check"
android:focusable="false"
android:focusableInTouchMode="false"
android:textOff=""
android:textOn="" />
</LinearLayout>
</android.support.v7.widget.Toolbar>
目前在我的 Android 工作室中是这样的:
当你想设置你的文字较长时,你会看到点(...)当它较小时你会看到它。
从现在开始,让我们谈谈您代码中的更改。
您的 Toolbar
标题将是您 TextView
你不再需要这条线了。
toolbar.setTitle("Whosebug");
您可以直接在 xml
或 Java
代码中使用您的 TextView
。请记住,您也可以像普通布局一样增加 TextSize
。在代码中你可以使用
TextView text_title=(TextView)findViewById(R.id.title);
text_title.setText("stack Overflow");
编码愉快!