我想使用以下代码在class Place(models.Model):
# other fields
operating_hours = models.DualTimeField()
中创建togglebutton
:
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>
答案 0 :(得分:1)
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 Studio中的样子:
当你想要设置你的文字更长时,你会看到点( ... )当它变小时,你会看到它。
从现在开始,您可以谈谈代码中的更改。
您的Toolbar
标题将是您TextView
中的价值需要这条线。
toolbar.setTitle("stackoverflow");
您可以直接在TextView
或xml
代码中使用Java
。请记住,您也可以像普通布局一样增加TextSize
。在代码中,您可以使用
TextView text_title=(TextView)findViewById(R.id.title);
text_title.setText("stack Overflow");
快乐编码!