工具栏中的标题太大,我希望标题从右向左移动

时间:2018-08-29 05:22:09

标签: android android-toolbar

工具栏标题太大,无法看到整个标题。 是否可以像HTML中的 marque 一样将标题从右移到左? 它应该看起来像动画,我已经看到了很多带有移动标题的应用程序。但是我不知道他们是怎么做到的。

toolbar.setTitle(""+Common.downloadsList.get(index).getName());

1 个答案:

答案 0 :(得分:1)

您可以像这样实现您的要求。

这些是实现字幕文本的主要属性。

android:maxLines="1"
android:ellipsize="marquee"
android:fadingEdge="horizontal"
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true"

XML代码:

<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_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:gravity="center_vertical"
android:minHeight="?android:attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay">

<android.support.v7.widget.AppCompatTextView
    android:id="@+id/toolbar_title"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:textColor="@android:color/white"
    android:textSize="18sp"
    android:maxLines="1"
    android:ellipsize="marquee"
    android:fadingEdge="horizontal"
    android:marqueeRepeatLimit="marquee_forever"
    android:scrollHorizontally="true" />

您的活动应如下所示。

Toolbar toolbar=findViewById(R.id.toolbar);
AppCompatTextView toolbar_title = findViewById(R.id.toolbar_title);
setSupportActionBar(toolbar);

if (getSupportActionBar() != null) {
    getSupportActionBar().setDisplayShowTitleEnabled(false);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    toolbar_title.setText(""+Common.downloadsList.get(index).getName());
}