使用默认标题文本视图样式自定义android中的标题文本

时间:2015-06-05 10:14:00

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

我正在使用工具栏项在我的应用中实现素材设计。在我的工具栏中,我添加了“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上面我必须设置所有那些认为的textize,color,textstyle,

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

但是我需要在这里设置默认的标题文字样式,怎么做?,请给出一些想法

3 个答案:

答案 0 :(得分:3)

您可以使用

实现此目的
  

风格= “@风格/ 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"
            />

答案 1 :(得分:0)

我不知道这是否有帮助。以下是来自Android Support Library 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的样式。

答案 2 :(得分:-2)

在textview xml中使用这些:

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