ActionBar标题和副标题对齐以及片段中的textSize

时间:2017-01-19 03:36:09

标签: java android android-fragments

我正在使用操作栏并显示操作栏的一些标题和副标题。我希望字幕的大小小于标题。而且我左边还有一个标志图标。那么我应该如何调整对齐方式。

还有一个片段,其中我使用后退按钮作为主页按钮。所以,我还想减少后退按钮和操作栏标题之间​​的空间。

我尝试使用此代码。但它没有帮助。

UserListFragment.java

 View viewActionBar = getActivity().getLayoutInflater().inflate(R.layout.actionbar_layout, null);
        ActionBar.LayoutParams params = new ActionBar.LayoutParams(ActionBar.LayoutParams.WRAP_CONTENT,ActionBar.LayoutParams.MATCH_PARENT,Gravity.CENTER);

TextView textviewTitle = (TextView) viewActionBar.findViewById(R.id.mytext);
textviewTitle.setText("DemoIosAppDoctor"+"\n"+"Doctor");
actionBar.setCustomView(viewActionBar, params);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
}

actionbar_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#ffffff"
    android:id="@+id/mytext"
    android:textSize="18sp"
    android:layout_marginTop="5dp"
    android:layout_marginLeft="-2dp"/>

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

要完全自定义Actionbar,您应该在设计XML中定义工具栏并在那里添加您自己的组件。然后像这样使用

Toolbar tb = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(tb); 

像这样使用XML:

<android.support.v7.widget.Toolbar
        android:id="@+id/toolbar2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:minHeight="?attr/actionBarSize"
        android:theme="?attr/actionBarTheme">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">


            <TextView
                android:id="@+id/textView7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="TextView" />


            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

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

注意:您必须将此活动主题设置为NoActionBar,如下所示:

<activity
            android:name=".YourActivity"
            android:parentActivityName=".index.IndexActivity"
            android:theme="@style/AppTheme.NoActionBar" />

这样的主题:

<style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowDrawsSystemBarBackgrounds">true</item>
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>