ActionBar标题有两种颜色

时间:2014-10-05 22:18:40

标签: android android-actionbar-compat

是否可以使用仅由XML样式定义的两种颜色组成ActionBar标题?这时我用Java代码中的SpannableString来实现这一点,但是有一个缺点。当应用程序启动时,title有一段时间(直到onCreate()调用)默认样式。

enter image description here

提前致谢。

1 个答案:

答案 0 :(得分:0)

您必须使用以下方法创建自定义操作栏,我没有做所有这些只是使用您的方法创建自定义操作栏的提示。

使用此方法创建自定义操作栏视图。记住这不是activity_main.xml创建custom_actionbar.xml并超过这一行。

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="rrrrrrrr--"
    android:textAppearance="?android:attr/textAppearanceLarge" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="tttttttt"
    android:textAppearance="?android:attr/textAppearanceLarge" />

MainActivity类是

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ActionBar mActionBar = getActionBar();
    mActionBar.setDisplayShowHomeEnabled(false);
    mActionBar.setDisplayShowTitleEnabled(false);
    LayoutInflater mInflater = LayoutInflater.from(this);

    View mCustomView = mInflater.inflate(R.layout.custom_actionbar, null);

    TextView mTitleTextView1 = (TextView) mCustomView
            .findViewById(R.id.textView1);
    mTitleTextView1.setText("DCBA");
    mTitleTextView1.setTextColor(Color.GREEN);

    TextView mTitleTextView2 = (TextView) mCustomView
            .findViewById(R.id.textView2);
    mTitleTextView2.setText("ABCD-");
    mTitleTextView2.setTextColor(Color.GRAY);

    mActionBar.setCustomView(mCustomView);
    mActionBar.setDisplayShowCustomEnabled(true);
}

}