小编Fer*_*nch的帖子

如何更改新材质主题中后退箭头的颜色?

我已将我的SDK更新为API 21,现在后退/上移图标是指向左侧的黑色箭头.

黑色后箭头

我希望它是灰色的.我怎样才能做到这一点?

例如,在Play商店中,箭头为白色.

我这样做是为了设置一些风格.我已经习惯@drawable/abc_ic_ab_back_mtrl_am_alphahomeAsUpIndicator.drawable是透明的(只有alpha),但箭头显示为黑色.我想知道我是否能像我一样设置颜色DrawerArrowStyle.或者,如果唯一的解决方案是创建我的@drawable/grey_arrow并使用它homeAsUpIndicator.

<!-- Base application theme -->
<style name="AppTheme" parent="Theme.AppCompat.Light">

    <item name="android:actionBarStyle" tools:ignore="NewApi">@style/MyActionBar</item>
    <item name="actionBarStyle">@style/MyActionBar</item>

    <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>

    <item name="homeAsUpIndicator">@drawable/abc_ic_ab_back_mtrl_am_alpha</item>
    <item name="android:homeAsUpIndicator" tools:ignore="NewApi">@drawable/abc_ic_ab_back_mtrl_am_alpha</item>
</style>

<!-- ActionBar style -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid">

    <item name="android:background">@color/actionbar_background</item>
    <!-- Support library compatibility -->
    <item name="background">@color/actionbar_background</item>
</style>

<!-- Style for the navigation drawer icon -->
<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
    <item name="spinBars">true</item>
    <item name="color">@color/actionbar_text</item>
</style>
Run Code Online (Sandbox Code Playgroud)

到目前为止,我的解决方案是采用@drawable/abc_ic_ab_back_mtrl_am_alpha看似白色的,并使用照片编辑器将其绘制成我想要的颜色.它的工作原理,但我更喜欢使用@color/actionbar_textDrawerArrowStyle.

java user-interface android colors android-styles

181
推荐指数
15
解决办法
15万
查看次数

如何避免Android GCM消息延迟/改变心跳

我一直在阅读很多关于影响某些人的GCM问题的帖子.似乎在一些设备/路由器/运营商中,通知遭受延迟.我的路由器经历过这个问题:WIFI上的消息有很多延迟,但是当我禁用WIFI并连接到移动网络时,消息就会立即出现.

似乎可以通过Android应用程序完成解决方法.像增加心跳使GCM连接保持活跃等等.

任何人都可以告诉我们我们应该做些什么来避免延误?我们如何通过Android应用程序保持与GCM的连接?代码示例(以及在何处以及如何使用它)将非常有用.

这篇文章解释了这个问题.它说"我们可以通过每两分钟从GCM服务器(这是免费的)ping一直保持连接".我们怎么做?

非常感谢


以下应用似乎可以解决问题.令人惊讶的是,第一个不需要任何许可,第二个是互联网连接,第三个仅适用于root电话:

https://play.google.com/store/apps/details?id=at.pansy.droid.gcmWifiFix

https://play.google.com/store/apps/details?id=com.elotro.pushheartbeat

https://play.google.com/store/apps/details?id=com.andqlimax.pushfixer

android push-notification wifi android-wifi google-cloud-messaging

33
推荐指数
3
解决办法
3万
查看次数

对于某些单元格,UITableView在iOS8中的错误位置显示分隔符

我们有一个UITableView,它适用于iOS7但是当我在iOS8模拟器中尝试时,我看到大多数单元格的单元分隔符放置不正确.奇怪的是,一些单元格正确显示了分隔符.

见附图:

UITableView错误的分隔符...有时!

我这样设置单元格高度:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 70.0f;
}
Run Code Online (Sandbox Code Playgroud)

你知道发生了什么吗?谢谢!

编辑:

我在此期间使用的解决方法是禁用分隔符...

    [tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone];
Run Code Online (Sandbox Code Playgroud)

...并在单元格视图中自己绘制......

    UIView* separator = [[UIView alloc] initWithFrame:CGRectMake(20, cellHeight-1, frame.size.width - 40, 1)];
    separator.layer.borderWidth = 1;
    separator.layer.borderColor = [[UIColor grayColor] CGColor];
    [self addSubview:separator];
Run Code Online (Sandbox Code Playgroud)

......但我不想这样做.

objective-c ios ios8

19
推荐指数
1
解决办法
3187
查看次数

可以在Swift中抛出"RuntimeException"而不声明它吗?

我想从一些"深度"函数中抛出一个异常,所以它会冒泡到另一个函数,我想抓住它.

f1调用f2调用f3调用... fN这可能会引发错误

我想抓住错误f1.

我已经读过,在Swift中我必须声明所有方法throws,并使用它们调用它们try.

但那很烦人:

enum MyErrorType : ErrorType {
    case SomeError
}

func f1() {
    do {
        try f2()
    } catch {
        print("recovered")
    }
}

func f2() throws {
    try f3()
}

func f3() throws {
    try f4()
}

...

func fN() throws {
    if (someCondition) {
      throw MyErrorType.SomeError
    }
}
Run Code Online (Sandbox Code Playgroud)

是不是有一个类似于RuntimeExceptionJava的概念,哪里throws不会一直泄密到调用链?

exception-handling exception runtimeexception swift

17
推荐指数
3
解决办法
6095
查看次数

Android TextView中的Markdown支持

有没有办法启用TextView检测降价标记并相应地呈现文本?更具体地说,我的应用程序包含一个TextView用户可以提供描述的应用程序,并且通常他们将使用markdown来格式化他们的描述.不幸的是,文本没有呈现,而是我们看到所有标签都写在了textview.

markdown android textview

15
推荐指数
4
解决办法
1万
查看次数

如何在ViewPager位置偏移更改时为视图设置动画

我们想创建一个带有动画的应用程序介绍,用户可以滚动浏览页面,当用户滚动时,视图会被动画化并遍历所有幻灯片.动画视图应该在用户滚动时移动,因此如果用户滚动得更快,动画视图应该移动得更快,如果用户滚动回到上一页,动画视图应该向后移动.

在iOS中使用https://github.com/IFTTT/JazzHands这非常容易,但我找不到在Android中执行此操作的方法.

我发现的问题:

  • 动画实时运行; 你不能让时间成为ViewPager的偏移量.
  • FragmentPagerAdapter,一个片段的视图不能移动到另一个片段.

有什么建议吗?谢谢.

animation android

11
推荐指数
2
解决办法
5571
查看次数

在 iOS 设备上尝试时 Flutter 签名无效

TL; 博士

编辑 2020-05-06:我的应用程序从 iOS 13.4 正确安装,但一段时间后应用程序在启动时崩溃,我必须重新安装它。我不知道为什么。也许在iOS更新之后?

另请参阅以下答案:https : //stackoverflow.com/a/60013390/1121497

完整问题

我正在尝试flutter create在 iOS 设备(iPhone XS)上运行一个新的 Flutter 应用程序(由 创建的示例应用程序)。Xcode 设法安装它,但随后崩溃并显示以下消息:

dyld: Library not loaded: @rpath/Flutter.framework/Flutter
  Referenced from: /private/var/containers/Bundle/Application/BA807438-FA5B-4021-B37D-FC437B2C80CA/Runner.app/Runner
  Reason: no suitable image found.  Did find:
    /private/var/containers/Bundle/Application/BA807438-FA5B-4021-B37D-FC437B2C80CA/Runner.app/Frameworks/Flutter.framework/Flutter: code signature invalid for '/private/var/containers/Bundle/Application/BA807438-FA5B-4021-B37D-FC437B2C80CA/Runner.app/Frameworks/Flutter.framework/Flutter'
Run Code Online (Sandbox Code Playgroud)

如果我尝试flutter run,该应用程序也会打开并崩溃。并且命令永远等待:

$ flutter run
Launching lib/main.dart on Ferran Maylinch’s iPhone in debug mode...
 
Automatically signing iOS for device deployment using specified development team in Xcode project: 25D86TPBWG
Running Xcode build...                                                  
                                                   
 ??Assembling Flutter …
Run Code Online (Sandbox Code Playgroud)

ios flutter

11
推荐指数
1
解决办法
7170
查看次数

如何在Xcode游乐场中使用自动布局约束显示视图?

我试图在XCode playground中显示配置了自动布局约束的视图,但它似乎不起作用.这就像游乐场完全忽略了约束,我无法在任何地方找到有关此问题的信息.

这是我试过的代码:

let view = UIView()
view.frame = CGRectMake(0, 0, 400, 200)
view.backgroundColor = UIColor.lightGrayColor()

let label = UILabel() // I can only see the label if I set a frame
         // UILabel(frame: CGRectMake(0, 0, 200, 50))
label.backgroundColor = UIColor.greenColor()
label.text = "I am a label"
label.setTranslatesAutoresizingMaskIntoConstraints(false)
view.addSubview(label)

let views = ["label":label]
let options = NSLayoutFormatOptions(0)

let cs1 = NSLayoutConstraint.constraintsWithVisualFormat(
    "H:|-[label]-|", options: options, metrics: nil, views:views )

let cs2 = NSLayoutConstraint.constraintsWithVisualFormat(
    "V:|-[label]-|", options: options, metrics: nil, …
Run Code Online (Sandbox Code Playgroud)

xcode ios autolayout swift swift-playground

10
推荐指数
2
解决办法
4568
查看次数

Android:使用展开动画添加视图(不闪烁)

我想使用扩展动画向视图组添加视图,因此添加的视图开始非常小并占用越来越多的空间,直到达到其完整大小(可能在此过程中移动其他视图).

在尝试不同的方法后,我想出了下面的解决方案.投票,如果它可以帮助您或请发布更好的替代品.我相信必须有一个更简单的方法来做到这一点.

有关更多信息,请参阅此类此类的帖子.

这是我添加视图并启动动画的方法:

// Trick: set height to 1 so the view doesn't take its full size at the beginning.
// (0 doesn't work, I don't know why)
container.addView(view, LayoutParams.MATCH_PARENT, 1);
Animation expansion = createExpansion(view);
expansion.setDuration(200);
view.startAnimation(expansion);
Run Code Online (Sandbox Code Playgroud)

createExpansion()方法:

public static Animation createExpansion(View view) {

    return new SizedHeightScaleAnimation(view, 0, 1,
            Animation.RELATIVE_TO_SELF, 0f,
            Animation.RELATIVE_TO_SELF, 0f);
}
Run Code Online (Sandbox Code Playgroud)

最后是SizedHeightScaleAnimation动画类:

/**
 * Like {@link ScaleAnimation} for height scaling that also resizes the view accordingly,
 * so …
Run Code Online (Sandbox Code Playgroud)

layout animation android

9
推荐指数
1
解决办法
1万
查看次数

如何在 Spring Boot 中配置 CORS 和基本授权?

我正在尝试在已经设置了基本身份验证的 Spring 启动应用程序中配置 CORS。

我在很多地方搜索过,包括这个答案,它指向官方文档中基于过滤器的 CORS 支持

到目前为止没有运气。

我的 AJAX 请求就是这样完成的。如果从同一来源http://localhost:8080完成,它就可以工作。

fetch('http://localhost:8080/api/lists', {
  headers: {
    'Authorization': 'Basic dXNlckB0ZXN0LmNvbToxMjM0NQ=='
  }
}
Run Code Online (Sandbox Code Playgroud)

AJAX 请求是从http://localhost:3000的 React 应用程序完成的,所以我尝试了以下 Spring boot CORS 配置:

@Configuration
class MyConfiguration {

    @Bean
    public FilterRegistrationBean corsFilter()
    {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();

        CorsConfiguration config = new CorsConfiguration();
        config.setAllowedOrigins(Arrays.asList("http://localhost:3000"));
        // Maybe I can just say "*" for methods and headers
        // I just copied these lists from another Dropwizard project
        config.setAllowedMethods(Arrays.asList("GET", "PUT", "POST", …
Run Code Online (Sandbox Code Playgroud)

security ajax basic-authentication cors spring-boot

9
推荐指数
2
解决办法
1万
查看次数