如何在工具栏中的标题相同位置添加TextView?

时间:2017-02-18 13:45:31

标签: android textview android-toolbar

我的xml文件中有一个工具栏,其中没有定义子视图。当我们调用setSupportActionBar(toolbar)时,我想在工具栏中的默认标题的确切位置添加TextView。在特定事件中,我喜欢在特定事件的情况下淡出或淡出这两个视图。

我尝试在活动的onCreate()中执行以下操作,但除工具栏中的默认标题外,没有任何内容可见。

    TextView tv = new TextView(this);
    tv.setLayoutParams(toolbarTitle.getLayoutParams());
    tv.setHeight(toolbarTitle.getHeight());
    tv.setWidth(toolbarTitle.getWidth());
    tv.setText("Other Title");
    tv.setLeft(toolbarTitle.getLeft());
    toolbar.addView(tv);

我还尝试在工具栏中添加一个RelativeLayout,其宽度和高度设置为匹配父级,但这次,工具栏的默认标题TextView消失。

如何在工具栏中的默认标题TextView的确切位置添加另一个TextView?

2 个答案:

答案 0 :(得分:1)

您可以使用AppBarLayout,如下所示

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.AppBarLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:app="http://schemas.android.com/apk/res-auto"
 android:id="@+id/toolbar_layout"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 >

<android.support.v7.widget.Toolbar
  android:id="@+id/toolbar"
  android:layout_width="match_parent"
  android:layout_height="?attr/actionBarSize"
  android:background="?attr/colorPrimary"
  >
<TextView
    android:id="@+id/toolbar_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/aadhaar_sign_up"
    android:textColor="@color/white"
    android:textSize="18.0sp"
    app:fontName="Font-Medium.ttf"
    />
 </android.support.v7.widget.Toolbar>

</android.support.design.widget.AppBarLayout>

然后使用textview如下

Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
((TextView) toolbar.findViewById(R.id.toolbar_title)).setText(title);

答案 1 :(得分:0)

我在我的活动的<FirstList> <FirstListItem> <Content>FirstListItem para1</Content> <Content>FirstListItem para2</Content> <Content>FirtsListItem para3</Content> <SecondList> <SecondListItem> <Content>First Inner ListItem para1</Content> <Content>First Inner ListItem para2</Content> </SecondListItem> <SecondListItem> <Content>Second Inner ListItem para1</Content> <BulletedList> <BulletedListItem> <Content>Outer Bulleted List para1</Content> <Content>Outer Bulleted List Para2</Content> <BulletedList> <BulletedListItem> <Content>Inner Bulleted List para</Content> </BulletedListItem> <BulletedListItem> <Content>Second Inner bulleted List para1</Content> <Content>Second Inner bulleted List para2</Content> </BulletedListItem> </BulletedList> <Content>Outer Bulleted List Para3</Content> </BulletedListItem> <BulletedListItem> <Content>Second Outer bulleted List</Content> </BulletedListItem> </BulletedList> <Content>Second Inner List Item para2</Content> </SecondListItem> </SecondList> <Content>First List Item para4</Content> </FirstListItem> <FirstListItem> <Content>SecondListItem para1</Content> </FirstListItem> </FirstList> 方法中使用getSupportActionBar().setDisplayShowTitleEnabled(false)禁用工具栏中的标题,并在布局中的工具栏中放置两个重叠的textView用relativeLayout封装它们。然后我按照自己的意愿制作动画。在更改文字时,我使用了onCreate()而不是titleTextView.setText()方法。