小编mus*_*ikk的帖子

应用内结算:在现有已发布应用上添加结算

我们在Google Play上发布了一个现有应用(apk v282).此应用没有应用内商品且没有BILLING权限.

我们开发了一个升级版本(v292),其中包含应用内商品和BILLING权限.

我们在Google Play控制台中创建应用内商品时遇到问题:当我们在Google Play控制台中上传v292 apk作为草稿时,我们在草稿中列出了两个APK:旧版和新版: 在此输入图像描述

从这个页面,我们有两个选择:

1-我们点击左侧列表中的"应用内商品"来创建我们的产品,我们看到一个页面说:

要添加应用内商品,您需要向APK添加BILLING权限.

因此我们无法创建应用内商品,可能是因为v282仍处于草稿配置中.

2-或者,我们删除旧的v282 APK(没有BILLING权限),以便在草稿配置中只保留新的v292.但是当点击"应用程序内产品"时,我们会收到有关未保存配置的弹出警告.但是没有按钮来保存它,只发布.当然,我们不希望发布它,因为它正在测试中.

总而言之:如何在以前没有它的应用程序中测试应用程序内购买?

android in-app-purchase in-app-billing

5
推荐指数
2
解决办法
3089
查看次数

在ListPreference对话框中显示android:dialogMessage

我想在ListPreference对话框中添加一些消息,所以我想到使用android:dialogMessage属性.

但是,当我设置此属性时,对话框中不再显示列表条目(使用android:entries和android:entryValues设置)(这似乎是一个已知的错误,因为我可以在其他地方阅读它).

所以我似乎需要制作一个特殊的自定义ListPreference才能显示dialogMessage和列表条目.

我考虑创建一个自定义类MyListPreference,为此目的稍作修改.我会覆盖onCreateDialogView()来进行更改.但是我对最干净的变化有点不确定,因为我可以看到两种选择:

备选方案1-创建自定义XML布局 我将复制ListPreference对话框的默认xml布局并添加textView.在onCreateDialogView()中,我会膨胀这个自定义布局.

备选方案2-动态修改视图 在onCreateDialogView()中,我将调用super.onCreateDialogView()并动态地将textView添加到它返回的视图中.

问题:你建议做什么?如果替代1是最好的,我在哪里可以找到ListPreference对话框的默认XML布局,以便我可以自定义它?

谢谢您的帮助

xml android dialog listpreference

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

微调框项目按下蓝色背景

我使用微调器显示下拉列表。我希望列表中的项目具有圆角。因此,我使用9色块包含一个带有圆角的图像(在角的外部透明)作为视图项背景,并使用选择器在按下时显示不同颜色的9色块。

问题:当我按下微调器列表中的项目时,我可以在角落看到蓝色背景,其中9色块是透明的。

我似乎无法摆脱按下项目时出现的蓝色背景。如果删除微调器中的9个补丁和任何设置,则可以看到列表中的项目视图默认为灰色,按下时为蓝色。

我还尝试不使用9个色块作为背景,而只是使用颜色选择器,并将选择器中按下的颜色设置为透明。然后,当我按下该项目时,它不是透明的而是蓝色的。我认为列表中的视图确实是透明的,但是当按下时背景中仍然存在蓝色...

我使用自定义SpinnerAdapter创建项目视图。这是简化的代码:

   private class MySpinnerAdapter implements SpinnerAdapter {
        @Override
        public View getDropDownView(int i, View recycledView, ViewGroup viewGroup) {
            View view = new View(context);
            view.setBackground(context.getResources().getDrawable(R.drawable.testspinner));
            view.setMinimumHeight(100);
            return (View) view;
        }
} 
Run Code Online (Sandbox Code Playgroud)

用于背景的选择器。这里只有一种颜色,没有9色块。按下的颜色应该是透明的:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
            android:state_pressed="true"
            android:drawable="@android:color/transparent" />
    <item
            android:drawable="@android:color/holo_purple" />

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

我在微调器上设置了自定义适配器:

    spinner.setAdapter(new MySpinnerAdapter());
Run Code Online (Sandbox Code Playgroud)

而微调器是从XML布局中获取的:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent" android:layout_height="wrap_content">

<Spinner
        android:id="@+id/myDropDown"
        android:spinnerMode="dropdown"
        android:layout_width="match_parent" 
        android:layout_height="wrap_content"
        android:dropDownWidth="match_parent"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我曾尝试在微调器上设置许多不同的属性,并尝试了一些样式属性,但是我无法摆脱这种蓝色背景...

android spinner

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

增加 Android Studio 中渲染注释的字体大小

在 Android Studio 中,可以将注释渲染为更具可读性。但似乎他们的字体大小是固定的,并没有遵循“滚动鼠标滚轮增加字体大小”的机制。有没有办法增大评论的字体大小?

在此输入图像描述

intellij-idea android-studio

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

OvershootInterpolator 的 compose 等价物是什么?

在 Android 视图上,我们使用了一个动画OvershootInterpolator

我们希望在 Jetpack Compose 中复制相同的动画。我看到https://developer.android.com/jetpack/compose/animation中描述了几个 AnimationSpec ,但我不知道哪一个可以复制OvershootInterpolator

  • tween规范似乎没有任何超调,只是在开始值和最终值之间进行动画处理而没有超调

  • springspec 确实会超调,但是它没有durationMillis补间参数,所以我们无法控制它的播放速度

  • keyFrames通过执行以下操作,spec 似乎是一个可能的解决方案:

              animationSpec = keyframes {
                  durationMillis = 500
                  0f at 100 with FastOutSlowInEasing
                  // Overshoot value to 50f
                  50f * 2 at 300 with LinearOutSlowInEasing
                  // Actual final value after overshoot animation
                  25f at 500
              }
    
    Run Code Online (Sandbox Code Playgroud)

keyFrames有没有比使用复制更好/更简单的方法OvershootInterpolator

android android-animation android-jetpack-compose

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

位置提供商真的是电池耗尽吗?

我需要实现基于位置的服务.我不需要精确的位置,因此不需要GPS.

最简单的方法是在应用开始时开始侦听位置更新,并将其保持为ON:

    mLocationMgr.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 10000, 100, mPendingIntent);
Run Code Online (Sandbox Code Playgroud)

由于我不需要太多精确度,我将更新的最大频率设置为10秒和100米而不是默认值0,0.

当我们考虑位置时,我们认为电池耗尽,但我想这是一个快捷方式,只有GPS真正耗尽电池.我认为这种网络提供商的使用不会耗尽电池.有什么想法吗?

android battery location

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

为什么要提供各种密度的多个drawable?

我的应用程序支持从ldpi到xhdpi的各种屏幕密度.它包含一些需要在所有密度上正确显示的drawable(图像).我想知道有多少可绘制的分辨率实际上是必要的,考虑到Android运行时在找不到适当密度的资源时正在扩展资源.

如果您只提供mdpi drawables,它们将在hdpi/xhdpi(模糊)上放大,并在ldpi屏幕上缩小.

但是,如果仅提供xhdi资源,则它们将在所有低密度屏幕上缩小.按比例缩小不会使它们模糊,它们看起来会很好.

那么为什么还要为xhdpi提供其他密度的drawable?

android screen-resolution drawable

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

Android ActionBarSherlock重复菜单按钮

ActionBarSherlock在我的应用程序编译时使用Android 4.0.3.在我的设备上运行测试时JellyBean 4.2.1,我可以看到ActionBar底部buttons栏中的溢出图标.

Screenshot.

如何overflow删除底部按钮?

在此输入图像描述

编辑:两个按钮都有效!

android actionbarsherlock android-actionbar

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

在成员函数上调用函数指针

我是C++的新手(经过许多Java年).我正在尝试使用函数指针指向我的类的成员函数,如下所示:

class MyClass
{
public:
    MyClass();
    void foo();
    void bar();
};

MyClass::MyClass(){}

void MyClass::bar(){}


void MyClass::foo()
{
    void (MyClass::*myMethod)();
    myMethod = &MyClass::bar;

//-----THIS IS THE LINE WITH PROBLEM-----------
    myMethod();

}
Run Code Online (Sandbox Code Playgroud)

但是,编译器失败:

test.cpp: In member function ‘void MyClass::foo()’:
test.cpp:22:14: error: must use ‘.*’ or ‘->*’ to call pointer-to-member function in ‘myMethod (...)’, e.g. ‘(... ->* myMethod) (...)’
     myMethod();
          ^
Run Code Online (Sandbox Code Playgroud)

我一直在尝试各种各样的*,&字符混合,并搜索解决方案,但无法让它工作.

任何的想法?

c++ function-pointers

-2
推荐指数
1
解决办法
601
查看次数