我想让工具栏的高度相对较小。我试着设置minHeight,但它没有用。
绿色细线是我想要的工具栏,但工具栏会忽略minHeight,因此周围有红色部分。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/WindowTitleBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="0dp"
android:background="#ff0000"
app:contentInsetEnd="0dp" app:contentInsetStart="0dp">
<View
android:layout_width="match_parent"
android:layout_height="5dp"
android:background="#00ff00"/>
</android.support.v7.widget.Toolbar>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Something" />
</LinearLayout>
public class TActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.t);
Toolbar WindowTitleBar = (Toolbar)findViewById(R.id.WindowTitleBar);
setSupportActionBar(WindowTitleBar);
}
}
当然,我的工具栏功能更强大,但此代码说明了高度问题。
请注意,我知道我可以将layout_height设置为固定值,但还有更优雅的解决方案吗?
答案 0 :(得分:1)
我认为设置layout_height
将是您的方案的最佳解决方案。也许您可以将工具栏布局提取到另一个xml以提高可重用性并将高度提取到dimens.xml
。我无法想到更优雅的解决方案。
我希望它有所帮助。
答案 1 :(得分:1)
除了设定高度之外,还有什么可能是解决方案。
只是为了澄清属性minHeight
,使View
成为至少这么高的像素。所以这不适用于TooBar
。对于普通的ViewGroup
,它会起作用。
因此解决方案是将android:layout_height
设置为预定义像素。
除此之外,这只会使TooBar
无用。我的意思是一个简单的View
可以做到这一点。拥有ToolBar
的重点是实现材料设计,并在其中包含菜单和抽屉指示器,背面,标题。如果您希望ToolBar
与图像中的绿线一样高,那么我认为没有使用工具栏。您只需使用View
。