【问题标题】:Use default title text view style for customize title text in android使用默认标题文本视图样式在 android 中自定义标题文本
【发布时间】:2015-06-05 10:13:59
【问题描述】:

我正在使用工具栏项在我的应用程序中实现材料设计。在我的工具栏中,我添加了“imageview”和“textview”并替换了我的“textView”的标题文本

这是我的代码

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
local:popupTheme="@style/ThemeOverlay.AppCompat.Light" >

<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<ImageView
   android:id="@+id/logo_image"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentLeft="true"
   android:src="@drawable/app"
   android:layout_centerVertical="true"
   android:scaleType="centerInside" />

<TextView
    android:id="@+id/text_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_marginLeft="10dp"
    android:singleLine="true"
    android:ellipsize="end"
    android:textStyle="bold"
    android:textSize="20sp"
    android:textColor="#fff"
    android:layout_toRightOf="@+id/logo_image"

   />

 </RelativeLayout>

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

在 textview 上面我必须设置所有那些认为的 textsize、color、textstyle,

    android:singleLine="true"
    android:ellipsize="end"
    android:textStyle="bold"
    android:textSize="20sp"
    android:textColor="#fff"

但是我需要在这里设置默认的标题文本样式,如何做到这一点?请给出一些想法

【问题讨论】:

    标签: android android-layout android-actionbar material-design android-toolbar


    【解决方案1】:

    您可以通过

    实现此目的

    style="@style/TextAppearance.Widget.AppCompat.Toolbar.Title"

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/title_activity_login"
                style="@style/TextAppearance.Widget.AppCompat.Toolbar.Title"
                />
    

    【讨论】:

      【解决方案2】:

      我不知道这是否有帮助。这是Android支持库v7源代码中Toolbar的实现,

           /**
           * Set the title of this toolbar.
           *
           * <p>A title should be used as the anchor for a section of content. It should
           * describe or name the content being viewed.</p>
           *
           * @param title Title to set
           */
          public void setTitle(CharSequence title) {
              if (!TextUtils.isEmpty(title)) {
                  if (mTitleTextView == null) {
                      final Context context = getContext();
                      mTitleTextView = new TextView(context);
                      mTitleTextView.setSingleLine();
                      mTitleTextView.setEllipsize(TextUtils.TruncateAt.END);
                      if (mTitleTextAppearance != 0) {
                          mTitleTextView.setTextAppearance(context, mTitleTextAppearance);
                      }
                      if (mTitleTextColor != 0) {
                          mTitleTextView.setTextColor(mTitleTextColor);
                      }
                  }
                  if (mTitleTextView.getParent() == null) {
                      addSystemView(mTitleTextView);
                      updateChildVisibilityForExpandedActionView(mTitleTextView);
                  }
              } else if (mTitleTextView != null && mTitleTextView.getParent() != null) {
                  removeView(mTitleTextView);
              }
              if (mTitleTextView != null) {
                  mTitleTextView.setText(title);
              }
              mTitleText = title;
          }
      

      您可以使用它来设置TextView 的样式。

      【讨论】:

        【解决方案3】:

        在你的 textview xml 中使用这些:

        android:textSize="20sp"
        android:fontFamily="sans-serif-medium"
        android:singleLine="true"
        android:ellipsize="end"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-07-17
          • 2010-10-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多