小编Aka*_*asH的帖子

在我的自定义视图上阅读Android属性

我创建了一个自定义布局类(扩展RelativeLayout)并将TextView作为布局的一部分.

我想将XML中声明的属性应用到我的TextView中,无论如何我可以读取android属性(不是我的自定义属性,那部分已经处理好了).

例如,在我的XML中,我将拥有:

<my.custom.MyLayout
    android:layout_width="100dp"
    android:layout_height="20dp"
    android:text="SomeText" /> 
Run Code Online (Sandbox Code Playgroud)

我想读取text属性并将其应用于我的TextView(目前它正在应用于RelativeLayout),而不是创建自己的属性并读取它.

我的自定义布局是这样的:

public class MyLayout extends RelativeLayout {

    private TextView textView;
    public void MyLayout(final Context context, final AttributeSet attrs) {
        /**Read android attributes and apply it to TextView **/
        ??
    }
Run Code Online (Sandbox Code Playgroud)

我目前的解决方案是创建自定义属性并阅读它们,但我觉得这不是一个好的解决方案,因为我将复制声明为TextView的每个属性.

有关我当前解决方案的更多信息

我有一个名为myText的自定义属性,用于将XML中声明的文本应用于TextView.

在我的布局XML中:

myNameSpace:myText="SomeText"
Run Code Online (Sandbox Code Playgroud)

并在我的Java类中阅读:

String text= a.getString(R.styleable.MyStyleable_myText);
textView.setText(text);
Run Code Online (Sandbox Code Playgroud)

我想摆脱我的自定义属性并阅读"android:"属性.

android android-custom-view android-layout

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

在测试谷歌应用程序时退款测试购买

我很难退款.当我登录发布者控制台时,它显示我的购买和"取消整个订单"按钮."退款一些钱"按钮显示为灰色.付款是使用测试帐户完成的.该应用尚未发布.我如何获得退款,即使我在测试帐户上退款,谷歌仍会向我收取30%的费用?

java android in-app-purchase google-play

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

永远不会调用Google InAppBilling onPurchaseStateChange

onPurchaseStateChange永远不会调用回调方法.我做了自己的演示应用程序,并尝试使用Google提供的演示(Dungeons).

我正在调用requestPurchase(String productId, String payload)这个onClick方法.


    @Override
    public void onClick(View view) {
        if(view == requestPurchaseButton) {
            mBillingService.requestPurchase("android.test.purchased", "10");
        }
    }
Run Code Online (Sandbox Code Playgroud)

调用回调方法onRequestPurchaseResponse(Request, ResponseCode).在responseCode这里给出的值RESULT_OK.因此请求已发送到服务器.


       @Override
       public void onRequestPurchaseResponse(RequestPurchase request,
                ResponseCode responseCode) 
       {
              if(responseCode == ResponseCode.RESULT_OK) {
            Log.d("AJ", "onRequestPurchaseResponse.ResponeCode.RESULT_OK");
            textView.append(request.mProductId + "\n");
          } else if(responseCode == ResponseCode.RESULT_USER_CANCELED) {
                      //doesn't go here
          } else { 
                     //doesn't go here
          }
       }

Run Code Online (Sandbox Code Playgroud)

此方法的javadoc说明

当我们从Market收到我们发出的RequestPurchase请求的响应代码时,会调用此方法.这不适用于任何购买状态更改.所有购买状态更改都在onPurchaseStateChange(PurchaseState,String,int,long)中接收.这用于报告各种错误,或者用户退出但未购买该项目.可能的响应代码是:RESULT_OK表示订单已成功发送到服务器.当订单被收费或取消时,稍后将调用onPurchaseStateChange()(购买状态为PURCHASED或CANCELED).如果市场管理的商品的订单已经发送到服务器,也会发生此响应代码.RESULT_USER_CANCELED表示用户没有购买该商品.RESULT_SERVICE_UNAVAILABLE表示我们无法连接到Android Market服务器(例如,如果数据连接已关闭).RESULT_BILLING_UNAVAILABLE表示尚不支持应用内结算.RESULT_ITEM_UNAVAILABLE表示此应用程序提供的待售项目在服务器端目录中不存在(或未发布).RESULT_ERROR用于任何其他错误(例如服务器错误).

但是回调方法


    @Override
        public void onPurchaseStateChange(PurchaseState purchaseState,
                String itemId, int quantity, long …
Run Code Online (Sandbox Code Playgroud)

android billing

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

通过书法将字体设置为应用程序中的所有按钮

我把我的UI部分分成了一个lib,并在那里创建我的样式.

我有一个所有按钮的默认样式,我就是这样设置的.

<style name="MyTheme.Default">
     <item name="buttonStyle">@style/button</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我的按钮样式是

<style name="button">
    <item name="fontPath">fonts/myfont.ttf</item>
    <item name="android:gravity">center</item>
    <item name="android:clickable">true</item>
    <item name="android:textSize">14sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我希望这个按钮样式应用于所有按钮而不调用@style属性.除了字体外,一切似乎都能正常工作.它没有得到应用.

如果我使用@style属性调用,它似乎应用了字体.

我可以使用textAppearance为应用程序中的所有文本应用字体,这也会更改我的按钮的字体.但这是我不想要的行为.

那么,如何在不使用每个按钮的@style属性的情况下通过我的lib将按钮应用于按钮.

android android-activity

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

避免在锁定屏幕上恢复应用程序

我有一个使用OpenGL ES进行渲染的游戏.它需要我在恢复应用程序时重新加载所有纹理.当我按下homekey并退出(暂停应用程序)然后恢复它时,它工作正常.但是,当我使用电源键关闭屏幕然后打开屏幕时,应用程序将自动恢复锁定屏幕(滑动解锁屏幕).无论如何我可以避免这种情况吗?因为简历不合适,如果我在稍微延迟(10秒)后解锁屏幕,游戏将重新加载,我最终看到的只是一个白屏.我想主要是,如果我可以阻止应用程序在锁定屏幕恢复.我希望在解锁屏幕后恢复应用程序.

谢谢阿卡什

android opengl-es android-activity

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