我想要与我的工具栏标题类似的行为,如下图所示。
正如你所看到的,当它完全滚动时,它的标题会淡出并完全消失。当它向上滚动工具栏标题来到写入位置。这是我的应用工具栏标题的工作原理。
正如您所看到的,我的工具栏标题不会消失。如果有可能的话,我希望在向下滚动时不会向下移动时使标题淡出。这是我的源代码。
布局文件
<android.support.design.widget.CoordinatorLayout
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:background="@color/main_background_color">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsingToolbarLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<ImageView
android:id="@+id/camera_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:scaleType="centerInside"
android:src="@drawable/customer_registration_toolbar_image"
android:adjustViewBounds="true"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- All scroll able contain here -->
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
活动
public class CustomerRegistrationActivity extends AppCompatActivity {
private Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_customer_registration);
toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("Customer Registration");
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
}
请指出我需要做些什么来获得我描述的行为。
答案 0 :(得分:0)
您可以在xml中指定,如下所示,
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="@dimen/app_bar_height"
android:fitsSystemWindows="true"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_gravity="center_horizontal"
android:background="?attr/colorPrimary"
android:gravity="center"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/AppTheme.PopupOverlay"
app:title="@string/title"
app:titleTextColor="@color/white" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
并在嵌套滚动视图中设置它
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:behavior_overlapTop="@dimen/some_value_to_place_title_under_button" // eg 50 dp, 70dp
app:layout_behavior="@string/appbar_scrolling_view_behavior">
您应该在工具栏中指定标题 并删除用于设置标题的Java代码
app:title="@string/title"
并且还需要将命名空间导入布局的根视图
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
或者在
的java代码集标题中 getSupportActionBar().setTitle("Title");
答案 1 :(得分:0)
我认为下面提到的代码可以解决你的问题。
collapsingToolbarLayout.setExpandedTitleColor(Color.parseColor("#00FFFFFF"));
答案 2 :(得分:0)
感谢所有答案。我通过添加expandedTitleTextAppearance
属性实现了我的目标。
首先将app:expandedTitleTextAppearance="@style/TransparentText"
添加到CollapsingToolbarLayout
在下面的样式文件夹中创建TransparentText文件。
<style name="TransparentText">
<item name="android:textColor">#00000000</item>
<item name="android:textSize">0sp</item>
</style>
<强>结果强>