小编Den*_*nis的帖子

如何设置新工具栏的标题颜色?

我正在使用新的v7工具栏,但在我的生活中无法弄清楚如何更改标题的颜色.我已将工具栏的@style设置为styles.xml中声明的样式,并将textTextStyle应用于textColor.我错过了什么吗?我正在为Lollipop编码,但目前在Kitkat设备上进行测试.

styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="@style/Theme.AppCompat.Light">
        <item name="android:windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
    </style>

    <style name="ActionBar" parent="Theme.AppCompat">
        <item name="android:background">@color/actionbar_background</item>
        <item name="android:titleTextStyle">@style/ActionBar.TitleTextStyle</item>
    </style>

    <style name="ActionBar.TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
        <item name="android:textColor">@color/actionbar_title_text</item>
    </style>

</resources>
Run Code Online (Sandbox Code Playgroud)

actionbar.xml:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar_actionbar"
    android:layout_width="match_parent"
    android:layout_height="?actionBarSize"
    style="@style/ActionBar"/>
Run Code Online (Sandbox Code Playgroud)

android themes toolbar

106
推荐指数
6
解决办法
14万
查看次数

我在哪里可以将全局ajax错误处理放在Ember中?

在我的应用程序的适配器中,我将根据ajax错误返回错误代码.我正在应用程序路由的错误方法中处理这些.如果我通过link-to访问路由,这非常有用.但是,如果我刷新路径或只输入URL,则不会调用我的应用程序的错误处理程序.有没有一个地方我可以把这个错误处理保证每次运行?我真的不想在每一条路线中实现相同的"if 401,show login"代码.

路线/ application.js中:

export default Ember.Route.extend({
  actions: {
    error: function(reason) {
        if (reason === 401) {
          alert('401');
            this.send('showLogin');
        }
    },
Run Code Online (Sandbox Code Playgroud)

适配器/ application.js中:

import DS from 'ember-data';

export default DS.ActiveModelAdapter.extend({
    'namespace': '',
  ajaxError: function(jqXHR) {
    var error = this._super(jqXHR);
    if (jqXHR && jqXHR.status === 401) {
        return 401;
    }
    return error;
  }
});
Run Code Online (Sandbox Code Playgroud)

编辑:

上面的代码几乎对我有用.我点击的主要问题是在刷新或点击URL时没有捕到this.send('showLogin').将此更改为转换可以很好地工作:

import Ember from 'ember';

export default Ember.Route.extend(ApplicationRouteMixin, {
  actions: {
    error: function(reason) {
      if (reason === 401) {
        this.transitionTo('login');
      }
    },
    ...
Run Code Online (Sandbox Code Playgroud)

ajax ember-data ember-cli

6
推荐指数
1
解决办法
2595
查看次数

标签 统计

ajax ×1

android ×1

ember-cli ×1

ember-data ×1

themes ×1

toolbar ×1