当我试图将位图保存到外部图片目录时,我有一个问题.当我使用Bitmap.compress函数保存它时,位图失去透明度并使背景变黑.但是当我将位图传递给imageview并在活动中显示它时它看起来很好并且具有透明度.只有当我尝试保存它时,透明度才会变黑.
我不得不说,我使用两个位图和porterduff模式在位图上绘制路径并仅显示绘制路径中的图片,并且所有其他像素应该被剪切或透明.
所以这是创建路径位图的功能:
private void createPathBitmap(RectF rect, Bitmap bitmap, Path path) {
RectF tmpRect = new RectF(rect);
Bitmap src = Bitmap.createBitmap(bitmap, (int) tmpRect.left, (int) tmpRect.top, (int) tmpRect.width(), (int) tmpRect.height());
Bitmap dst = Bitmap.createBitmap(src.getWidth(), src.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(dst);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeCap(Paint.Cap.ROUND);
paint.setStrokeJoin(Paint.Join.ROUND);
paint.setStrokeWidth(mDisplayDensity * SnippetLayer.PATH_DIAMETER);
path.offset(-rect.left, -rect.top);
canvas.drawPath(path, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
RectF srcRect = new RectF(0, 0, rect.width(), rect.height());
canvas.drawBitmap(src, null, srcRect, paint);
BitmapManager.sBitmapSnippet = dst;
}
Run Code Online (Sandbox Code Playgroud)
这是将位图保存到外部存储器的方法:
SimpleDateFormat dateFormat = new SimpleDateFormat("HH_mm_ss_dd_MM_yyyy"); …Run Code Online (Sandbox Code Playgroud) 是否可以AudioTrack从资源文件夹raw 播放wav文件?它尝试了很多方法来引用我的Android项目中的原始文件,但是我有很多例外.
这就是我现在所拥有的,但是当我按下按钮时,没有声音播放.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Button buttonPlayAudioTrack = (Button) findViewById(R.id.buttonPlayAudioTrack);
buttonPlayAudioTrack.setOnClickListener(this);
int minBufferSize = AudioTrack.getMinBufferSize(44100, AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT);
audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_CONFIGURATION_MONO,
AudioFormat.ENCODING_PCM_16BIT, minBufferSize, AudioTrack.MODE_STREAM);
}
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId() == R.id.buttonPlayAudioTrack)
playSound();
}
private void playSound() {
audioTrack.play();
int i = 0;
int bufferSize = 512;
byte [] buffer = new byte[bufferSize];
InputStream inputStream = getResources().openRawResource(R.raw.piano12);
try {
while((i = inputStream.read()) != -1)
audioTrack.write(buffer, 0, …Run Code Online (Sandbox Code Playgroud) 在我的火电视应用我使用的是recyclerview用horizontal layout.
滚动与dpad工作和项目正在获得关注.
但是,当我按住按钮时,它会非常快速地滚动,因为许多keydown事件被触发,并且项目正在失去焦点而且不可能再滚动,因为Textview我的recyclerview上方的另一个正在获得焦点.
它看起来像一个bug.这有什么解决方法吗?