我正在尝试更改工具栏的文本颜色,但无效。这是我的代码。
styles.xml
<!-- Base application theme. -->
<style name="BasicTheme" parent="Theme.AppCompat.Light.NoActionBar">
</style>
<style name="ToolbarTheme" parent="BasicTheme">
<item name="android:textColor">@color/text_color</item>
</style>
tool_lay
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:appo="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:id="@+id/toolbar"
android:elevation="10dp"
android:background="@color/colorPrimary"
appo:theme="@style/ToolbarTheme"
>
activity_main.xml中
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="testing.theo.aelfootballclub.MainActivity"
android:background="#3d827e">
<include
android:id="@+id/toolbar"
layout="@layout/tool_lay"
/>
<LinearLayout
android:padding="20dp"
android:background="#6e7398"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_width="wrap_content"
android:orientation="vertical"
android:layout_height="wrap_content">
<EditText
android:id="@+id/user_name"
android:hint="Userame"
android:layout_width="250dp"
android:layout_height="wrap_content" />
<EditText
android:id="@+id/user_pass"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:layout_marginTop="20dp"
android:hint="Κωδικός"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_gravity="center_horizontal"
android:text="Εισοδος"
android:layout_marginTop="20dp"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:onClick="userLogin"/>
<Button
android:layout_marginTop="20dp"
android:layout_gravity="center_horizontal"
android:text="Εγγραφη"
android:layout_width="0dp"
android:onClick="userReg"
android:layout_weight="1"
android:layout_height="wrap_content" />
</LinearLayout>
<TextView
android:textStyle="bold|italic"
android:textSize="25sp"
android:layout_gravity="center_horizontal"
android:text="Ξεχασες τον κωδικό?"
android:id="@+id/forgotPass"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
最后是 MainActivity 。
public class MainActivity extends AppCompatActivity {
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setToolbar();
}
private void setToolbar(){
toolbar = (Toolbar)findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
}
}
工具栏的背景颜色很好。我可以把它改成我想要的任何颜色。
任何想法,
感谢。
答案 0 :(得分:4)
你可以这样做
private void setToolbar(){
toolbar = (Toolbar)findViewById(R.id.toolbar);
toolbar.setTitleTextColor(ContextCompat.getColor(getApplicationContext(),R.color.yellow));
setSupportActionBar(toolbar);
}
答案 1 :(得分:2)
使用ToolbarTheme
覆盖titleTextAppearance
样式:
<style name="ToolbarTheme" parent="BasicTheme">
<item name="titleTextAppearance">@style/ToolbarTheme.Title</item>
</style>
<style name="ToolbarTheme.Title" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
<item name="android:textColor">{your_color}</item>
</style>
答案 2 :(得分:1)
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
// Title and subtitle
toolbar.setTitle(R.string.about_toolbar_title);
toolbar.setSubtitleTextColor(Color.WHITE);
toolbar.setTitleTextColor(Color.WHITE);
toolbar.setBackgroundColor(getResources().getColor(
R.color.themeToolbarColor));
toolbar.setNavigationIcon(R.drawable.ic_action_back);
toolbar.setNavigationOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
答案 3 :(得分:0)
在您的主题中添加此内容,
<item name="actionMenuTextColor">@color/actionMenuTextColor</item>
答案 4 :(得分:0)
Zagórski的回答更改了标题的主题,而您可以只设置标题文字颜色:设置android:textColor
而不是定义android:textColorPrimary
。
答案 5 :(得分:0)
使用xml属性更改工具栏中的文本颜色
app:titleTextColor="@color/colorAccent"
答案 6 :(得分:0)
将此添加到您的 themes.xml 文件
<style name="Theme.YourAppName" parent="Theme.MaterialComponents.DayNight.DarkActionBar">