如何在高度

时间:2018-04-27 18:44:15

标签: android

我想让工具栏的高度相对较小。我试着设置minHeight,但它没有用。

绿色细线是我想要的工具栏,但工具栏会忽略minHeight,因此周围有红色部分。

enter image description here

<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设置为固定值,但还有更优雅的解决方案吗?

2 个答案:

答案 0 :(得分:1)

我认为设置layout_height将是您的方案的最佳解决方案。也许您可以将工具栏布局提取到另一个xml以提高可重用性并将高度提取到dimens.xml。我无法想到更优雅的解决方案。

我希望它有所帮助。

答案 1 :(得分:1)

除了设定高度之外,还有什么可能是解决方案。

只是为了澄清属性minHeight,使View成为至少这么高的像素。所以这不适用于TooBar。对于普通的ViewGroup,它会起作用。

因此解决方案是将android:layout_height设置为预定义像素。

除此之外,这只会使TooBar无用。我的意思是一个简单的View可以做到这一点。拥有ToolBar的重点是实现材料设计,并在其中包含菜单和抽屉指示器,背面,标题。如果您希望ToolBar与图像中的绿线一样高,那么我认为没有使用工具栏。您只需使用View

即可