小编Kna*_*arf的帖子

Android TransitionDrawable包含多个项目

我想在Android中创建一个带有文本和背景图像的Button.背景图像应每X次交叉淡入淡出.

我使用带有2个图像的TransitionDrawable工作.

但我无法使用2个以上的图像.

是)我有的 :

在Java代码中,我创建一个Button并设置一个背景(这是一个在XML中定义的TransitionDrawable).我开始过渡.

final Button b = new Button(getApplicationContext());
b.setTextColor(getResources().getColor(R.color.white));
b.setText("Some text");
b.setBackgroundDrawable(getResources().getDrawable(R.drawable.tile));
StateListDrawable background = (StateListDrawable) b.getBackground();
TransitionDrawable td = (TransitionDrawable) background.getCurrent();
td.startTransition(2000);
Run Code Online (Sandbox Code Playgroud)

在XML中我在tile.xml中定义

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" >
        <shape>
            <solid
                android:color="#449def" />
        </shape>
    </item>
    <item android:drawable="@drawable/transition">
        <shape>
            <solid
                android:color="#0000ff" />
        </shape>
    </item>
</selector> 
Run Code Online (Sandbox Code Playgroud)

最后是一个transition.xml

<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android"     android:oneshot="false">
  <item android:drawable="@drawable/desert"/> 
  <item android:drawable="@drawable/hydrangeas" /> 
  <item android:drawable="@drawable/jellyfish" /> 
</transition> 
Run Code Online (Sandbox Code Playgroud)

现在效果是,当我启动应用程序时,会显示沙漠图像.这个图像交叉渐变到绣球花图像应该.但水母图像从未显示过.

在TransitionDrawables的文档中,声明您可以指定2个以上的drawable,但我无法使其工作.

我也试过这个没有任何XML,但在纯JAVA,但这给出了完全相同的问题:-(

android

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

为什么在适用于Android的Google Play商店中将特定设备标记为"不受支持"

有谁知道你怎么知道为什么Google Play商店会为你创建的"不兼容"应用标记特定设备?

我创建了一个应用程序,我的一个测试设备是GalaxyTab2.在这个设备上,当你只是使用USB线将apk放在设备上或者只是从网站上下载时,应用程序的所有功能都没有问题.

但是,当我将应用程序上传到Playstore时,GalaxyTab2被列为不受支持的设备.所以GalaxyTab2用户无法安装该应用程序.

在Google Play开发者控制台中,您可以查看不受支持的设备的概述.但似乎您无法获得任何信息'为什么'设备不受支持.此电流列出了1000个设备.其中很多都是不受支持的,因为他们的Android版本太旧了.但是从一些设备(如GalaxyTab 2)我相信他们可以并且运行apk没问题.

我的一些清单:

<supports-screens android:smallScreens="true"
                  android:normalScreens="true"
                  android:largeScreens="true"
                  android:xlargeScreens="true" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

<uses-sdk
    android:minSdkVersion="9"
    android:targetSdkVersion="16" />
Run Code Online (Sandbox Code Playgroud)

android

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

Google Play开发者控制台崩溃报告中缺少重要信息

很多时候,我在Google Play开发者控制台中看到了一些缺少重要信息的例外情况.

例如,我在Google Play中遇到的最后一次崩溃是:

java.lang.RuntimeException: 
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2984)
  at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3045)
  at android.app.ActivityThread.-wrap14 (ActivityThread.java)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1642)
  at android.os.Handler.dispatchMessage (Handler.java:102)
  at android.os.Looper.loop (Looper.java:154)
  at android.app.ActivityThread.main (ActivityThread.java:6776)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1518)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1408)
Caused by: android.support.v4.app.Fragment$InstantiationException: 
  at android.support.v4.app.Fragment.instantiate (Fragment.java:431)
  at android.support.v4.app.FragmentState.instantiate (Fragment.java:102)
  at android.support.v4.app.FragmentManagerImpl.restoreAllState (FragmentManager.java:1952)
  at android.support.v4.app.FragmentController.restoreAllState (FragmentController.java:144)
  at android.support.v4.app.FragmentActivity.onCreate (FragmentActivity.java:307)
  at android.support.v7.app.AppCompatActivity.onCreate (AppCompatActivity.java:58)
  at be.gps.android73.activities.LanguageActivity.onCreate (LanguageActivity.java:23)
  at be.gps.android73.activities.main.MainActivity.onCreate (MainActivity.java:117)
  at android.app.Activity.performCreate (Activity.java:6956)
  at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1126)
  at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2927)
Run Code Online (Sandbox Code Playgroud)

现在我能够在开发中重现这个崩溃.在这种情况下,您可以获得相同的堆栈跟踪,但有一些重要的额外信息,如下所示

....
Caused by: android.support.v4.app.Fragment$InstantiationException: 
 Unable to instantiate …
Run Code Online (Sandbox Code Playgroud)

android

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

GWT数据网格在排序时滚动到最后一列

我在GWT中创建了一个DataGrid,并使列可以排序.

列的宽度总和宽度大于DataGrid的宽度.因此出现水平滚动条.

现在的问题是,当我在第一列上排序时,排序工作正常,但水平滚动条一直跳到右边.这确实是一个不受欢迎的影响.

只要最后一列可见,就不会再发生这种情况了.

这是一个已知的问题吗?

sorting gwt datagrid

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

像IntelliJ一样在Eclipse中提供Lambda建议

在IntelliJ中输入以下代码:

Runnable cronTask = new Runnable() {
   @Override
   public void run() {
      // do something
   }
};
Run Code Online (Sandbox Code Playgroud)

IntelliJ会自动建议使用lambda表达式时会更好。您可以选择自动转换为

Runnable cronTask = () -> {
   // do something
};
Run Code Online (Sandbox Code Playgroud)

在Eclipse中是否可能发生这种情况?也许有某种插件?我希望Eclipse发出警告,告诉我lambda表达式可能是更好的解决方案。并且如果可能的话还建议正确的修复方法。

java eclipse lambda intellij-idea

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

标签 统计

android ×3

datagrid ×1

eclipse ×1

gwt ×1

intellij-idea ×1

java ×1

lambda ×1

sorting ×1