小编Den*_* H.的帖子

Google Play 实时开发者通知:产品一次性无法运行

我利用实时开发者通知来处理我的应用程序中的购买。对于订阅来说,这是完美的,但对于一次产品,我从未收到过消息。

在职的:

  • 订阅消息
  • 测试消息

不工作:

  • 一次性产品留言

我使用“测试卡 - 始终批准”,因此购买成功。即使我在前端确认,我也不会在后端收到任何通知,但根据文档我应该得到一个

这里有什么问题吗?

in-app-billing google-play-console

8
推荐指数
0
解决办法
1043
查看次数

如何设置TextInputLayout的轮廓框浮动提示背景色

如何将文本输入布局轮廓框样式中的浮动提示的背景颜色更改为透明。我认为所附图片清楚地说明了问题应该在笔划上方为红色,下方为白色)。我为改变背景本身所做的是:

<style name="App.TextInputLayout" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense">
    <item name="boxBackgroundColor">@color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)

带有损坏背景的轮廓框

任何帮助是极大的赞赏

android background android-edittext material-design android-textinputlayout

7
推荐指数
1
解决办法
2431
查看次数

更改暴露的下拉菜单的背景颜色

我认为 Android 开发人员在开玩笑。首先,他们从 Material Design 中移除了真正的微调器,其次在某种程度上无法设计样式。看看这张图片。我看起来真的很好!我没有找到更改下拉列表背景颜色的可能性。我可以为列表中的每个项目设置样式,但仍然将列表顶部和底部的“圆角区域”保留为白色。

在此处输入图片说明

有人知道如何仅更改列表的背景颜色吗?

确实有一种改变它的方法(取自这里),通过应用:

 <style name="AppTheme.ExposedDropdownMenu" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu">
    <item name="materialThemeOverlay">@style/AppTheme.ExposedDropdownMenu.MaterialThemeOverlay</item>
 </style>


 <style name="AppTheme.ExposedDropdownMenu.MaterialThemeOverlay" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <!-- background color of dropdown (popup) items -->
    <item name="colorSurface">#444444</item>
 </style>
Run Code Online (Sandbox Code Playgroud)

但这会改变 EditText 的内边距、颜色和内边距。它也完全删除了菜单的高度,我无法恢复。

仅更改此菜单的背景颜色不会那么困难?!为什么这个 API 如此令人困惑。

后续问题:任何人都知道一种使 TextView 可复合绘制的方法(在 EditText 内)?

android spinner drop-down-menu material-design

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

BigDecimal setScale 使用舍入模式一半甚至不起作用

有人请告诉我我做的错误:

我有号码:225.0453,内部保存有 4 位数字。这是一个美元货币数字,我想要漂亮的打印显示。我用RoundingMode.HALF_EVEN

由于美元使用 2 个小数位数,因此半偶数四舍五入的数字应为 225.04 美元。但我得到 225.05 美元。

这是我的代码(我将其更改为创建 MWE):

@Override
public String toString() {
    Currency cur = Currency.getInstance("USD");
    BigDecimal result = new BigDecimal("225.0453");
    result = result.setScale(cur.getDefaultFractionDigits(),RoundingMode.HALF_EVEN);
    NumberFormat nf = NumberFormat.getCurrencyInstance();
    nf.setCurrency(cur);
    nf.setMaximumFractionDigits(cur.getDefaultFractionDigits());
    return nf.format(result.doubleValue());
}
Run Code Online (Sandbox Code Playgroud)

此外,我也很乐意提供更好的解决方案,因为这似乎不太正确。(我试过了,nf.setRoundingMode但根本没有用)

java currency rounding bigdecimal

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