小编And*_*oid的帖子

Android Paint PorterDuff.Mode.CLEAR

我正在使用类似于Android SDK的Finger Paint演示的Canvas应用程序.我的问题是我正在使用的时候PorterDuff.Mode.CLEAR.当绘制和画布时,如果我试图擦除某些东西,它工作正常.但是如果我试图将我的图像保存为PNG文件,则橡皮擦的笔划会变成黑色,我不确定为什么会发生这种情况.这是我正在做的一个例子:

@Override
    protected void onDraw(Canvas canvas) {
        canvas.drawColor(Color.WHITE);
        canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);

        canvas.drawPath(mPath, mPaint);
    }
Run Code Online (Sandbox Code Playgroud)

橡皮擦:

case ERASE_MENU_ID:
            mPaint.setXfermode(new PorterDuffXfermode(
                                                    PorterDuff.Mode.CLEAR));
            return true;
Run Code Online (Sandbox Code Playgroud)

以及我如何保存图像:

            Calendar currentDate = Calendar.getInstance();
            SimpleDateFormat formatter= new SimpleDateFormat("yyyyMMMddHmmss");
            String dateNow = formatter.format(currentDate.getTime());
            File dir = new File(mImagePath);
            if(!dir.exists())
                dir.mkdirs();

            File file = new File(mImagePath + "/" + dateNow +".png");

            FileOutputStream fos;
            try {
                fos = new FileOutputStream(file);
                mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
                fos.close();
                Toast.makeText(getApplicationContext(), "File saved at \n"+mImagePath + "/" + dateNow …
Run Code Online (Sandbox Code Playgroud)

android bitmap android-canvas

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

Android在警告对话框中设置了所选项目

我正在我的应用程序开头创建一个警报对话框,让用户选择存储我的应用程序从Web下载的数据的位置.我现在想要实现的是取决于我想要设置所选项之一的内部/外部存储的大小.这是我用来创建对话框的代码:

@SuppressWarnings("static-access")
public void createDialog(){


    final CharSequence[] items = {"Phone Memory - "+memorysize+" free space", "SD Card - "+megAvailable+" MB free space"};

    final int userId = rpc.getUserId(this);
    final String servername = rpc.getCurrentServerName(this);

    SharedPreferences stampiiSettings = PreferenceManager.getDefaultSharedPreferences(MyCollectionList.this);
    final SharedPreferences.Editor editor = stampiiSettings.edit();

    AlertDialog.Builder builder = new AlertDialog.Builder(this.getParent());
    builder.setTitle("Select Storage Path");
    builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int item) {

            if(item == 0){

                rpc.createFoldersInInternalStorage(servername, userId, MyCollectionList.this);
                Toast.makeText(getApplicationContext(), "Selected Storage Path : Phone Memory", Toast.LENGTH_SHORT).show();
                editor.putInt("storagePath", 1);
                editor.commit();
            } else …
Run Code Online (Sandbox Code Playgroud)

android android-alertdialog

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

Android键盘将标签栏置于顶部

我在应用程序中打开键盘时遇到了一些问题.我这是在页面的底部,并在某些情况下,标签栏,并不总是当我在编辑文本并单击键盘的显示出来,它的移动我的标签栏在它的上面.这是一个例子:

在此输入图像描述

所以我的问题是:有没有办法禁用它.我希望我的标签栏在显示时保持隐藏在键盘下方.

提前致谢!

keyboard android android-tabhost

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

Android如何更换已弃用的tabhost?

我将创建一个旨在使用的应用程序Tabhost,但据我所知,它已被弃用.所以我的问题是我应该使用Tabhost或者如何替换它...使用按钮而不是在每个xml或任何其他建议中声明它们?

android android-tabhost

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

Android NDK和FFMPEG构建

我正在尝试使用NDK为我的Android应用程序构建FFMPEG库.我已经从它的网站上下载了源代码,我想我是在构建它(这是我第一次尝试使用NDK和ffmpeg).我已经创建了一个build.sh文件,我用它来从Mac OS X上的命令行执行它.但是我有几个问题......

首先,我知道我需要Android.mk文件,所以我可以在我的应用程序中使用构建库,但我不知道如何做到这一点,原因我上面告诉你.在我运行带有几个文件夹和一些库的build.shI get android文件夹之后.所以我的第一个问题是,我如何构建我需要的Android.mk文件......也许如果有人能解释我为什么需要它.

在此输入图像描述

我的第二个问题是我需要一些来自ffmpeg的库才能在我的应用程序中使用它们,但是在构建之后我无法在源代码树中看到它们.我知道我必须在我身上启用它们,我build.sh想我做到了,但我看不到它们.因此,有关我的构建文件的任何类型的信息将有助于我了解如何配置它.这是它的样子:

    #!/bin/bash
######################################################
# Usage:
# put this script in top of FFmpeg source tree
# ./build_android
# It generates binary for following architectures:
# ARMv6 
# ARMv6+VFP 
# ARMv7+VFPv3-d16 (Tegra2) 
# ARMv7+Neon (Cortex-A8)
# Customizing:
# 1. Feel free to change ./configure parameters for more features
# 2. To adapt other ARM variants
# set $CPU and $OPTIMIZE_CFLAGS 
# call build_one
######################################################
NDK=~/Desktop/android-ndk-r5b
PLATFORM=$NDK/platforms/android-8/arch-arm/
PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/darwin-x86
function …
Run Code Online (Sandbox Code Playgroud)

android ffmpeg android-ndk

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

如何检测MotionEvent.ACTION_MOVE何时完成

当用户停止在特定视图中移动时,我需要在我的应用程序中进行检测.我在我的应用程序中创建类似于marque文本的东西,当用户触摸视图并在其上移动时,它可以进行交互.我需要在用户抬起手指后开始滚动视图.正如我注意到,如果我将手指移过视图几秒钟,当我抬起手指时,我的手指MotionEvent.ACTION_UP没有被调用.我捕获的最后一个事件是ACTION_MOVE.那么我怎样才能检测用户在几秒钟内移动视线后何时抬起手指?有某种功能可以检测出来吗?

这是我正在使用的代码:

txt.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, final MotionEvent event) {
        switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                Log.e("","event down : "+event.getAction());
                handler.removeCallbacks(runnable);
                break;
            case MotionEvent.ACTION_UP:
                Log.e("","event up : "+event.getAction());
                if(myTimer!=null){
                    myTimer.cancel();
                }
                break;
            case MotionEvent.ACTION_MOVE:
                Log.d("","move");
                // handler.removeCallbacks(runnable);
                checkX();
                break;
        }
        return true;
    }
});
Run Code Online (Sandbox Code Playgroud)

提前致谢!

java android motion-detection

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

PHP AES加密PKCS5Padding

我不是PHP编码器所以我需要一点PHP AES加密帮助.

我正在编写代码,我在PHP中加密图像文件,然后在Java(Android)中解密它们.当我加密/解密PNG文件时,一切正常,但当我尝试对JPG执行相同操作时,Java解密会引发异常:

WARN/System.err(345): java.io.IOException: data not block size aligned
Run Code Online (Sandbox Code Playgroud)

基于在线搜索,似乎这是因为我没有正确填充.

我该怎么做呢?

这是加密的PHP代码:

<?php
    $secret_key   = "01234567890abcde";
    $iv           = "fedcba9876543210";
    $infile       = "5.png";
    $outfile      = "5_encrypted.png";

    $crypttext = file_get_contents($infile);
    $plaintext = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $secret_key, $crypttext, MCRYPT_MODE_CBC, $iv);

    header('Content-Type: application/octet-stream');
    header('Content-Length: ' . strlen($plaintext));
    header('Content-Disposition: attachment; filename=' . ($outfile));

    echo $plaintext;


    //file_put_contents($outfile,$plaintext);   
    //save the file in the folder of server
Run Code Online (Sandbox Code Playgroud)

php encryption aes padding

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

Android无法导出应用程序

我现在在两三天内尝试在发布模式下签署我的应用程序时遇到问题.我已经尝试了所有我在互联网/ stackoverflow中找到的信息,但对我来说没有任何效果.我更新了我的全部SDK,更新proguard到4.7版本,检查了jar文件和冲突包,但找不到任何解决方案.我已经将库包含在我的主项目中,但是到目前为止我在签署我的应用程序时没有任何问题.

任何想法我还可以尝试,所以我可以解决这个问题,因为我仍在通过互联网阅读一些信息,但仍无法找到任何解决方案.

PS我没有建立调试版本和在设备上运行的问题.我得到的唯一问题是,当我尝试在发布模式下签署我的应用程序时,我得到Failed to export application错误.

android failed-installation

6
推荐指数
2
解决办法
9772
查看次数

Android编程按钮创建按钮

我试图在我的Android应用程序上以编程方式创建按钮,具体取决于我在sqlite数据库上有多少项目.按钮在那里,但我的问题是设置onClick每个按钮,因为我想在用户点击按钮时显示不同的内容.我现在正在使用此代码:

   for(cursorCol.move(0); cursorCol.moveToNext(); cursorCol.isAfterLast()){
          Id = Integer.parseInt(cursorCol.getString(cursorCol.getColumnIndex("id")));
          Log.i("Id","Id : "+Id);
                titleButton = cursorCol.getString(cursorCol.getColumnIndex("title"));
             Log.i("titleButton","titleButton : " + titleButton);
             elemOrder1 = Integer.parseInt(cursorCol.getString(cursorCol.getColumnIndex("elemOrder")));
               Log.i("elemOrder1 ","elemOrder1 : " + elemOrder1 );    

               btn = new Button(this); 
                  btn.setText("  " + titleButton + "  "); 
                  btn.setId(Id);
                  btn.setTextColor(Color.parseColor("#000000"));
                  btn.setTextSize(12);
                  btn.setPadding(10, 10, 10, 10);
                  btn.setBackgroundResource(R.drawable.gray_button);
                  btnlayout.addView(btn,params); 

                  btn.setOnClickListener(new View.OnClickListener() {

          @Override
          public void onClick(View v) {
           infoCard.removeAllViews();

           for(int i=0;i<=cursorCol.getCount();i++){

            Log.i("","titleButton : "+titleButton);

               }
          }
}
Run Code Online (Sandbox Code Playgroud)

但问题是当我点击按钮时它只显示最后一个titleButton.实际上我不需要展示titleButton,我只是为测试目的而做.任何想法如何onClick为每个按钮创建不同的方法?

android button

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

Android 在 Canvas 中拖放/旋转位图

我正在尝试找到一种方法来实现拖放功能并在我的 Android 应用程序中旋转位图。我希望能够在画布上拖动图像并旋转它。这是我将位图添加到画布的方法:

Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.dog);
mCanvas.drawBitmap(bm,x-100,y-100 , mPaint);
Run Code Online (Sandbox Code Playgroud)

其中x & y等于event.getX(); / event.getY();

任何想法我怎么能做到这一点?

提前致谢!:)

android drag-and-drop bitmap android-canvas

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