小编Lum*_*mis的帖子

如何为我的所有应用程序或活动禁用默认声音效果

在我的应用程序中,我使用声音池按钮单击音频效果.问题是如果在设备的设置中勾选了"Audible selection",那么我的按钮将产生两个声音:系统1和我的同时.

似乎如果在每个按钮属性中我将"Sound Effects Enabled"设置为false,则不再听到系统声音.但是我在十几个活动中有很多按钮,而且我在代码中添加了一个按钮矩阵,所以将"Sound Effects Enabled"设置为false来为每个按钮设置为非常不方便.不知道我是如何在代码中这样做的..

是否有一种更全面的方式来阻止我的应用程序中的"Audible selection"或至少针对一项活动?

android

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

如何在android上创建烟花粒子图形效果

任何人都知道如何通过在画布上画画来制作烟花效果?钢丝网动态壁纸(免费应用程序)有一个很好的例子.

在那里,许多点移动并留下像爆炸一样的星星的痕迹并逐渐消失.我认为每个移动点都有某种运动​​模糊,我不知道如何创建.

欢迎任何关于相关示例的想法或链接.

graphics android effects

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

Android 2.3的VM预算低于2.1和2.2?

看起来Android 2.3的VM预算要比2.1 amd 2.2小得多.我很惊讶新的操作系统更具限制性,我希望由于技术的发展,应该为应用程序提供更大的内存分配(VM预算).

因此,我无法在内存中保留大位图图像,这对于我现在正在进行的图形图像处理应用程序非常重要.但它在2.1和2.2中工作正常.

如果我使用inScale缩小我的图像以容纳2.3,那么我的输出质量会下降.

您是否有任何建议如何根据您自己的经验处理2.3和以前版本之间的差异?

android memory-management

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

SoundManager中偶尔出现NullPointerException

我使用这个标准的SoundManager.它在我的所有设备上运行良好,但现在只在市场上,然后我得到这些错误

  1. SoundManager.playSound中的NullPointerException(SoundManager.java:87)

  2. SoundManager.cleanup中的NullPointerException(SoundManager.java:107)

这是代码:

public class SoundManager {

    private static SoundManager _instance;
    private static SoundPool mSoundPool; 
    private static HashMap<Integer, Integer> mSoundPoolMap; 
    private static AudioManager  mAudioManager;
    private static Context mContext;

    private SoundManager(){   }

    static synchronized public SoundManager getInstance(){
        if (_instance == null) 
          _instance = new SoundManager();
        return _instance;
     }


    public static  void initSounds(Context theContext){ 
         mContext = theContext;
         mSoundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);
         mSoundPoolMap = new HashMap<Integer, Integer>(); 
         mAudioManager = (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE);        
    } 


    public static void addSound(int Index,int SoundID){
        mSoundPoolMap.put(Index, mSoundPool.load(mContext, SoundID, …
Run Code Online (Sandbox Code Playgroud)

android

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

透明活动的全屏2.3

我使用的是这种xml风格:

<style name="Theme.Transparent" parent="@android:style/Theme.Translucent.NoTitleBar">       
Run Code Online (Sandbox Code Playgroud)

这显示了全屏幕的透明布局,Android 2.1和2.2顶部没有标题栏或状态栏.但是,当我在2.3上测试应用程序时,同样的活动显示顶部的主屏幕状态栏(电池等).

我必须将这些行输入到我的java代码onCreate:

requestWindowFeature(Window.FEATURE_NO_TITLE);     
 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
Run Code Online (Sandbox Code Playgroud)

要让它从顶部删除任何状态或标题栏.

任何人都可以解释为什么2.2和2.3之间存在这种差异?

android

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

如何自动更新MS-Access 2007应用程序

我有一个与MySql服务器通信的前端Access 2007应用程序.

我希望有一个功能,用户计算机上的应用程序可以检测到网络上有新版本(这并不困难),并将最新版本下载到本地驱动器并启动它.

有没有人知道如何做到这一点?

谢谢

ms-access

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

使用SurfaceView防止绘图超出画布

是否有办法防止物体的部位的拉伸,如位图或路径,从而超越边界CanvasSurfaceView

当我逐渐将物体放大到超过Canvas'尺寸,特别是油漆模糊时,它都会减速到静止状态,我必须等待几秒才能恢复控制 - 它没有响应.我通过在屏幕上移动手指来缩放对象; 如果我做得太快并且扩展它,那么它真的会减慢绘图速度.

使用普通View画布时我没有遇到同样的问题,所以不知道是什么减慢了它.就好像SurfaceView响应太快然后变得拥挤.

因此,改进这一点的一个想法是防止在画布外画画,但不确定是否SurfaceView有这样的剪辑选项.

android surfaceview android-canvas

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

Android上透明png渲染阴影的质量

当使用具有精细褪色阴影的透明PNG图像时,Android屏幕上的阴影周围会有一条边线.它没有在emualator或Exclipse中显示.见照片.

我想知道是否有办法改善这一点.这是否与Android屏幕无法显示所有24位颜色或缩放和重新采样图像的事实有关?

在此示例中,图像被加载到ImageButton视图中.我尝试了它作为源或背景,它是相同的质量.

替代文字

png android

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

使用ArrayList和iterator时的illegalStateException

我正在小行星射击游戏中创建和删除对象,并且仅在某些情况下它崩溃并且我收到此错误:

07-16 19:35:05.071:ERROR/AndroidRuntime(3553):致命异常:Thread-11

07-16 19:35:05.071:ERROR/AndroidRuntime(3553):java.lang.IllegalStateException

07-16 19:35:05.071:ERROR/AndroidRuntime(3553):at java.util.AbstractList $ SimpleListIterator.remove(AbstractList.java:69)

这是测试镜头和小行星之间碰撞的代码:

public void shotAstrCollision(){

    asterItr = asteroids.listIterator();

    while(asterItr.hasNext()){  
        aster = asterItr.next();
        shotItr = shots.listIterator();

        while(shotItr.hasNext()){   
            shot = shotItr.next();
            float shotToAst = (float) Math.sqrt((aster.x + astW/2 - shot.x)*(aster.x + astW/2 - shot.x) + (aster.y + astH/2 - shot.y)*(aster.y + astH/2 - shot.y));
            if (shotToAst < astW/2){
                //asteroid is shot
                aster.power -= shot.power;
                shotItr.remove();
                shotCount--;
                createExplosion(aster.x + astW/2, aster.y + astH/2);
                SoundManager.playSound(1, 1);
                if (aster.power <= 0) {
                    asterItr.remove();
                    astCount--; 
                }else{
                    aster.shotColor …
Run Code Online (Sandbox Code Playgroud)

java android

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

Java反射 - 通过类名字符串获取级别

我一直在研究Java反思.这是来自维基百科http://en.wikipedia.org/wiki/Reflection_(computer_programming)的示例:

// Without reflection
new Foo().hello();

// With reflection
Class<?> cls = Class.forName("Foo");
cls.getMethod("hello").invoke(cls.newInstance());
Run Code Online (Sandbox Code Playgroud)

我发现这有点违反直觉,因为在创建实例之前调用该方法.

反射当然可以用来调用游戏等级,特别是如果有数百个.

编辑 - 一些解决方案:

这是一个适用于Android的反射的简单示例:

    try {                
        Class<?> clazz = Class.forName("com.test.Foo");                
        clazz.newInstance();            
    } catch (Exception e) {                
        throw new IllegalStateException(e);            
    }
Run Code Online (Sandbox Code Playgroud)

和类文件

public class Foo {

    Foo(){  
        hello();    
    }

    private void hello() {  
        Log.e("FOO", "Hello!");
    }
}
Run Code Online (Sandbox Code Playgroud)

假设有人想通过反射来调用Activity:

Activity activity;
try {                
  Class<?> clazz = Class.forName("com.test.MyLevelActivity");                
  activity = (Activity) clazz.newInstance();            
} catch (Exception e) {                
  throw new IllegalStateException(e);            
}
startActivity(new Intent(this,activity.getClass()));
Run Code Online (Sandbox Code Playgroud)

假设一个包含数据和方法的级别应该通过反射"加载":

    Level …
Run Code Online (Sandbox Code Playgroud)

java reflection android

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