tôi tìm cách để thay đổi màu sắc tiêu đề trong thanh hành động của tôi mà tôi đang cố gắng ra như sau:Thay đổi màu sắc tiêu đề văn bản cho ActionBar trong chủ đề AppCompatActivity
Tôi đã thêm như sau trong Styles.xml tôi (v14)
<style name="MyTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarStyle">@style/MyTheme.ActionBarStyle</item>
<item name="android:actionBarStyle">@style/MyTheme.ActionBarStyle</item>
<item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
<item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
<item name="drawerArrowStyle">@style/AppTheme.DrawerArrowToggle</item>
<item name="colorAccent">@color/greenText</item>
</style>
<style name="MyTheme.ActionBarStyle" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
<item name="background">@color/whiteText</item>
</style>
<style name="AppTheme.DrawerArrowToggle" parent="Base.Widget.AppCompat.DrawerArrowToggle">
<item name="color">@android:color/black</item>
</style>
<style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@color/actionbar_blackText</item>
</style>
Trong tệp kê khai của tôi: Tôi sử dụng cùng một chủ đề.
Trong Hoạt động lớp của tôi: Tôi đã thay đổi FragmentActivity để AppCompatActivity
các OnCreate trông như thế này:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getSupportActionBar().setDisplayOptions(getSupportActionBar().getDisplayOptions() | android.support.v7.app.ActionBar.DISPLAY_SHOW_CUSTOM);
ImageView imageView = new ImageView(getSupportActionBar().getThemedContext());
imageView.setScaleType(ImageView.ScaleType.CENTER);
imageView.setImageResource(R.drawable.logoforactionbar);
android.support.v7.app.ActionBar.LayoutParams layoutParams = new android.support.v7.app.ActionBar.LayoutParams(android.support.v7.app.ActionBar.LayoutParams.WRAP_CONTENT, android.support.v7.app.ActionBar.LayoutParams.WRAP_CONTENT, Gravity.END | Gravity.CENTER_VERTICAL);
layoutParams.rightMargin = 20;
imageView.setLayoutParams(layoutParams);
getSupportActionBar().setCustomView(imageView);
getSupportActionBar().setTitle(getResources().getString(R.string.register_new));
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setIcon(android.R.color.transparent);
setContentView(R.layout.register_new);
}
Nhưng màu sắc tiêu đề văn bản không thay đổi hoặc tôi không nhìn thấy màu đen lên mũi tên quá. Văn bản và mũi tên có màu trắng ...
Thật lạ khi cùng hoạt động tốt trên một AppCompatActivity khác cũng có ngăn điều hướng.
tôi nhận được kết quả như thế này:
Tôi đã cắt một phần logo. Dù sao, phải có tiêu đề đen và mũi tên màu đen nhưng không hiển thị.
Cảm ơn bạn đã trả lời nhanh chóng. Tôi đã sử dụng chủ đề của bạn và thay đổi màu chính thành màu trắng và cửa sổ nền, màu văn bản: thành màu đen nhưng vẫn không đổi màu. Nó vẫn còn đầy đủ màu trắng .. không có văn bản hoặc mũi tên màu đen. – TheDevMan
Bạn có thể chỉ sử dụng màu đục. Mã màu của tôi hoạt động trong ứng dụng của bạn? –
Yep mã màu của bạn đang hoạt động. Tôi đang thử trên Galaxy Nexus 4.3 – TheDevMan