【问题标题】:How to let horizontal progress bar stay at the top of toolbar如何让水平进度条停留在工具栏的顶部
【发布时间】:2015-08-09 08:13:09
【问题描述】:

操作栏

以前,在使用Action Bar 时,在Action Bar 的顶部有一个水平进度条是非常简单的。通过拥有代码

@Override
public void onCreate(Bundle savedInstanceState) {
    requestWindowFeature(Window.FEATURE_PROGRESS);

我们可以有


工具栏

现在,我希望通过使用 AppCompat Toolbar 来实现相同的外观和感觉。没有添加水平进度条,我的工具栏是这样的

通过以下布局添加水平进度条后。

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    android:minHeight="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:elevation="4dp"
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light" >

    <!-- android:elevation="4dp" is used due to http://www.google.com/design/spec/what-is-material/elevation-shadows.html#elevation-shadows-elevation-android- -->

    <ProgressBar
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="fill_parent"
        android:layout_height="2dp"
        android:id="@+id/progress"
        android:layout_gravity="top"
        android:gravity="top"
        android:max="100" android:progress="45"/>

</android.support.v7.widget.Toolbar>

但是,这就是我得到的

  1. 水平进度条不在工具栏顶部,虽然我通过toplayout_gravitygravity 进行了具体操作。
  2. 工具栏标题文本不见了。

我想知道,我错过了什么吗?

【问题讨论】:

  • 你可以考虑选择一个有效的答案,或者如果你的问题还没有解决,你可以解释一下;)

标签: android android-toolbar


【解决方案1】:

改为使用垂直 LinearLayout 作为根:

<LinearLayout
    android:orientation="vertical"
    android:background="?attr/colorPrimary">

    <ProgressBar />

    <android.support.v7.widget.Toolbar />

</LinearLayout>

或者正如@CheokYanCheng 在评论中所说,您可能希望使用FrameLayout 来避免推送效果。

<FrameLayout
    android:gravity="top"
    android:background="?attr/colorPrimary">

    <android.support.v7.widget.Toolbar />

    <ProgressBar />

</FrameLayout>

【讨论】:

  • 它不需要是一个LinearLayout,它可以是一个RelativeLayout或任何你想要的。
  • 当然可以,但这是我想到的第一个简单的事情;)
  • 我认为应该使用 FrameLayout 来避免“下推”工具栏的进度条。
猜你喜欢
  • 1970-01-01
  • 2013-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-19
相关资源
最近更新 更多