我想了解一下,Toolbar
,Appbar
,ActionBar
之间有什么区别。而我正试图改变我的AppBar的颜色或其他任何颜色为红色。
有人提到尝试更改主题。我试过但不知道差异,我也是android编程的新手。所以,如果你能帮助我。这是styles.xml文件代码
<!-- 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.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"
>
<item name="android:titleTextStyle">@style/MyTextTitle</item>
</style>
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" >
<item name="android:titleTextStyle">@style/MyTextTitle</item>
</style>
<style name="MyTextTitle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@color/red</item>
</style>
我希望你明白我想说的话。并原谅我的无知,因为我渴望学习它,所以不能等待。
答案 0 :(得分:5)
应用栏,也称为操作栏,是其中之一 应用程序活动中的重要设计元素....
应用栏(以前称为Android中的操作栏)非常特别 用于品牌推广,导航,搜索和工具的工具栏 操作
工具栏是在其中使用的操作栏的概括 应用程序布局。动作栏传统上是动作栏的一部分 Activity的不透明窗口装饰由框架控制,工具栏 可以放置在视图中嵌套的任意级别 层次结构。应用程序可以选择将工具栏指定为 使用
setActionBar()
方法的活动操作栏。
如果不清楚,您需要根据我们的主题Toolbar
支持更多{>来清除两个词首先概括 vs 专业化 em>聚焦特征集而不是ActionBar
。
进一步来自blog.xamarin.com
您可以将工具栏视为Action Bar的更大兄弟 已经长大,可以自由地在房子周围漫游。
让我们清楚上面提到的事情
我已经制作了一个navigationDrawerActivity
,我可以轻松创建并为您做一些改变以清除混乱。
我改变了AppBarLayout
的颜色
从它的位置移除工具栏并设置在content_main.xml
内部,因为如果两个站在同一位置,您可能无法理解!
看到你可以把它放在任何地方!
如果您想更改AppBarLayout
的颜色,请在其中添加android:background="@color/your_color"
现在,如果你阅读上面的引号,你知道哪一个是toolbar
这是我的action_bar_main.xml
(我从中移除了toolbar
并将其设置在content_main.xm
l)
现在您要求更改toolbar
如果您愿意,可以为include
设置自己的设计布局。
<android.support.v7.widget.Toolbar android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" >
<include layout="@layout/toolbar_inflater" />
</android.support.v7.widget.Toolbar>
如果您只想更改背景颜色,请更改为background
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/green"
app:popupTheme="@style/AppTheme.PopupOverlay" />
请参阅我根据需要夸大了布局。您可以根据自己的喜好添加视图。
或者如果您想使用代码
更改工具栏中的文本 CharSequence title = "Your App Name";
SpannableString s = new SpannableString(title);
s.setSpan(new ForegroundColorSpan(Color.RED), 0, title.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
getSupportActionBar().setTitle(s);
甚至可以通过更改主题的文本颜色来实现。阅读www.murrayc.com帖子和this以及this以及帖子
旁注:设置应用栏
如果你去developer.android.com它说,
从Android 3.0(API级别11)开始,使用的所有活动 默认主题将ActionBar作为应用栏。不过,app吧 功能已逐渐添加到本机ActionBar中 各种Android版本。因此,本机ActionBar的行为 不同取决于Android系统的哪个版本的设备 可能正在使用。相比之下,最新的功能被添加到 支持库的工具栏版本,它们可用于任何版本 可以使用支持库的设备。
出于这个原因,您应该使用支持库的工具栏类 实现你的活动的应用栏。使用支持库 工具栏有助于确保您的应用具有一致的行为 跨越最广泛的设备。例如,工具栏小部件 在运行Android 2.1的设备上提供材料设计体验 (API级别7)或更高版本,但本机操作栏不支持 材料设计,除非设备运行Android 5.0(API级别 21)或以后
在上面的说明中,有一个主要的子主题向活动添加工具栏,强烈要求您使用developer.android.com
工具栏所以再见App Bar
向你致Toolbar
答案 1 :(得分:0)
在您的应用主题中尝试此操作:
<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>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
希望他能帮助你
答案 2 :(得分:0)
试一试,<color name="colorPrimary">#0b0b0c</color>
<color name="colorPrimaryDark">#0b0b0c</color>
<color name="colorAccent">#FF4081</color>
Whatever color to change in hexadecimal code.then see ur app changes made it.
答案 3 :(得分:0)
您可以使用Appbar的Instance = function(args, callback) {
valargs([], function(err){});
}
function valargs(array, callback){
console.log(array, callback)
callback(null);
}
Instance();
方法更改颜色。
如果你有标签栏,你可以像这样设置setBackgroundColor
OnTabSelectedListener