我已更新了我的问题,使其更易于理解,并提供了更多信息。
下面的图片是我当前的GUI,这是第二个活动,我正在尝试将文本颜色和箭头图标颜色编辑为黑色。
GUI中的操作栏是通过编辑AndroidManifest.xml并使用java方法onNavigationItemSelected(MenuItem item)生成的,当我点击箭头图标时,它会将我带回父活动
在AndroidManifest.xml中,我定义了标题“Trip”及其父活动名称。
那么有没有办法改变文字和图标的颜色?
当前的GUI
GUI的XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.android.iplanner.Trip.ActivityTrip">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fabAddTrip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
app:backgroundTint="@color/colorPrimary"
android:clickable="true"
app:srcCompat="@drawable/ic_add_black_24px" />
</RelativeLayout>
styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
的AndroidManifest.xml
<activity
android:name=".Trip.ActivityTrip"
android:label="Trip"
android:parentActivityName=".ActivityMain" />
答案 0 :(得分:1)
这是我用来设置工具栏的功能
private void setupToolbar() {
MyLogger.getInstance().writeInfo(TAG, "setupToolbar");
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
toolbar.setNavigationIcon(R.drawable.ic_arrow_back_24dp);//Image Icon
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MyLogger.getInstance().writeInfo(TAG, "Toolbar Clicked");
onBackPressed();
}
});
}
答案 1 :(得分:1)
谢谢你的帮助,很遗憾浪费每个人的时间。
我已设法将文字颜色和图标颜色更改为黑色。
我的解决方案如下:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Light" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
将AppTheme更改为“Theme.AppCompat.Light”,将AppTheme.AppBarOverlay更改为“ThemeOverlay.AppCompat.Light”。
答案 2 :(得分:0)
<style name="MyApp.ActionBarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">
<!-- THIS is where you can color the arrow! -->
<item name="colorControlNormal">@color/my_awesome_color</item>
以您的风格添加MyApp.ActionBarTheme
<style name="MyTheme" parent="Theme.AppCompat.Light">
<item name="actionBarTheme">@style/MyApp.ActionBarTheme</item>
<item name="actionBarStyle">@style/MyApp.ActionBar</item>
<style name="MyApp.ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="elevation">0dp</item>
<!-- style for actionBar title -->
<item name="titleTextStyle">@style/ActionBarTitleText</item>
<!-- style for actionBar subtitle -->
<item name="subtitleTextStyle">@style/ActionBarSubtitleText</item>
<!--
the actionBarTheme doesn't use the colorControlNormal attribute
<item name="colorControlNormal">@color/my_awesome_color</item>
-->
答案 3 :(得分:0)
尝试此更改标题:
yourToolbar.setTitle("My title”);
这将改变图标:
final Drawable yourIcon = getResources().getDrawable(R.drawable.your_icon);
yourIcon.setColorFilter(Color.parseColor(color_you_want),
PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(yourIcon);