小编por*_*der的帖子

打开时关闭状态栏:Android

我试图想出一些方法来禁用状态栏而不完全隐藏它。这是在 3rd 方应用程序中禁用状态栏的介绍尝试。目前,我想在我自己的应用程序中禁用它,然后最终创建一个后台服务,看看我是否可以在其他应用程序中这样做。我正在创建的应用程序是一个面向儿童的操作系统,我正在尝试开发一个封闭的系统。

这是我尝试过的。我最初的想法是监控状态栏何时被访问,然后关闭它。

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    Log.i(TAG, "onWindowFocusChanged()");
    try {
        if (!hasFocus) {
            Log.d(TAG, "close status bar attempt");
            Object service = getSystemService("statusbar");
            Class<?> statusbarManager = Class
                    .forName("android.app.StatusBarManager");
            Method collapse = statusbarManager.getMethod("collapse");
            collapse.setAccessible(true);
            collapse.invoke(service);
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我使用的方法。它用于检测何时访问状态栏,但是,一旦获得焦点,它就不会关闭状态栏。我错过了什么?提前致谢。

android statusbar

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

如何更改strings.xml中存储的字符串中某些单词的颜色?

我找到了一些关于如何更改存储在strings.xml中的字符串的特定字符和单词的颜色的解决方案,但是,它对我不起作用.我有以下字符串

<string name="my_string">
       Humpty Dumpty sat on a <font fgcolor="#FF0000">wall</font> Humpty Dumpty had a great <font fgcolor="#FF0000">fall</font></string>
Run Code Online (Sandbox Code Playgroud)

我期待着墙壁和秋天的颜色是#FF0000(红色)的颜色,然而,它们根本不显示.经过进一步的研究,我了解到你必须声明alpha通道,然后我将我的字符串更新为

<string name="my_string">
       Humpty Dumpty sat on a <font fgcolor="#FFFF0000">wall</font> Humpty Dumpty had a great <font fgcolor="#FFFF0000">fall</font></string>
Run Code Online (Sandbox Code Playgroud)

我声明的alpha通道完全不透明,但结果保持不变.

最后,我也尝试过使用CDDATA,这是我的尝试.

<string name="my_string"><![CDATA[
       Humpty Dumpty sat on a <font color=\'#FF0000\'>wall</font> Humpty Dumpty had a great <font color=\'#FF0000\'>fall</font>]]</string>
Run Code Online (Sandbox Code Playgroud)

还有什么我做错了?提前致谢!

string android colors

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

如何绘制优步折线?

优步应用程序有一条弯曲的折线,甚至还包括一个阴影.阴影可能只是一个黑色,透明折线连接两个点.这很容易.但第二条折线有曲线,如何实现呢?这是Bezier曲线,还是像setGeodesic(true)这样的内置函数?

在此输入图像描述

我查看了谷歌地图示例,我看到了有关圆形折线的部分.这可以适应创建半圆吗?来自demo的代码片段.

PolylineOptions options = new PolylineOptions();
int radius = 5; //What is that?
int numPoints = 100;
double phase = 2 * Math.PI / numPoints;
for (int i = 0; i <= numPoints; i++) {
    options.add(new LatLng(SYDNEY.latitude + radius * Math.sin(i * phase),
            SYDNEY.longitude + radius * Math.cos(i * phase)));
}
int color = Color.RED;
mMap.addPolyline(options
        .color(color)
        .width(2));
Run Code Online (Sandbox Code Playgroud)

android google-maps polyline

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

如何从 MediaStore.Images.Media.getBitmap(contentResolver, uri) 获取位图?

我在从 uri 检索位图时遇到困难。我试图通过意图打开相机后获取从相机拍摄的图像。

                    try {
                        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                            intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                            imageUri = FileProvider.getUriForFile(mContext, mContext.getApplicationContext().getPackageName(), createImageFile());
                            intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);   // set the image file name
                        }
                        startActivityForResult(intent, PERMISSION_REQUEST_CODE_CAMERA);
                    } catch (ActivityNotFoundException e) {
                        e.printStackTrace();
                    }
Run Code Online (Sandbox Code Playgroud)

登录时的 imageUri 是

内容://com.example/external_files/Pictures/CustomFolder/15122017_photo_115344.jpg

打开相机并拍照后,调用我的 onActivityResult 。因为我使用 MediaStore.EXTRA_OUTPUT,所以我的数据对象中没有收到任何内容,它为空。我尝试使用 MediaStore.Images.Media.getBitmap() 来检索位图。我传入 imageUri。我相信这可能不正确,因为我收到了异常。

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == PERMISSION_REQUEST_CODE_CAMERA) {
        if (resultCode == Activity.RESULT_OK) {

            Bitmap bitmap;
            try {
                bitmap = MediaStore.Images.Media.getBitmap(mContext.getContentResolver(), …
Run Code Online (Sandbox Code Playgroud)

android bitmap mediastore android-camera-intent

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

使用Web服务和Picasso加载图像,如何添加采样大小?

我正在使用Picasso库在ViewPager中加载和显示图像.正在加载的图像具有高分辨率,我想为它们添加一个非采样大小.但是,我不知道应该如何或在何处添加此采样大小属性.我的ViewPagerAdapter.java类具有以下内容.

@Override
public Object instantiateItem(ViewGroup container, int position) {
   ImageView iv_page_image;
   inflater = (LayoutInflater) mContext
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   View itemView = inflater.inflate(R.layout.viewpager_item, container,false);
   iv_page_image = (ImageView) itemView.findViewById(R.id.iv_page_image);
   String path = pageList.get(position).getPageImage();
   path = path.replaceAll(" ", "%20");
   if (path != null && !(path.equalsIgnoreCase(""))) {
      Picasso.with(mContext).load(path)
         .placeholder(R.drawable.placeholder_empty)
         .into(iv_page_image, new Callback() {
         @Override
         public void onSuccess() {

         }
         @Override
         public void onError() {
         }
      });
    }
((ViewPager) container).addView(itemView);
return itemView;
}
Run Code Online (Sandbox Code Playgroud)

我想在图片中添加如下内容

private static int calculateInSampleSize(BitmapFactory.Options options,
        int reqWidth, int reqHeight) {

    final int height …
Run Code Online (Sandbox Code Playgroud)

android bitmap picasso

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

如何在gridView中更快地加载应用程序的图像(图标)?

我正在显示gridView中安装的所有应用程序.加载大量应用时,可以说30或更多,图标将显示在默认的Android图标上,然后几秒后更新为正确的图标.我想知道我可以对我的代码进行哪些改进,以使图标图像显示得更快.

加载以下内容: new LoadIconsTask().execute(mApps.toArray(new AppsInstalled[]{}));

这就是我的工作.

private class LoadIconsTask extends AsyncTask<AppsInstalled, Void, Void>{

        @Override
        protected Void doInBackground(AppsInstalled... params) {
            // TODO Auto-generated method stub
            Map<String, Drawable> icons = new HashMap<String, Drawable>();
            PackageManager manager = getApplicationContext().getPackageManager();

            // match package name with icon, set Adapter with loaded Map
            for (AppsInstalled app : params) {
                String pkgName = app.getAppUniqueId();
                Drawable ico = null;
                try {
                    Intent i = manager.getLaunchIntentForPackage(pkgName);
                    if (i != null) {
                        ico = manager.getActivityIcon(i);
                    }               
                } catch (NameNotFoundException e) { …
Run Code Online (Sandbox Code Playgroud)

android gridview

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

如何使用openGL和贝塞尔曲线创建拼图块?

我正在尝试创建一个拼图游戏演示,我想知道在不使用蒙版的情况下创建拼图的替代方法.目前我通过拍摄完整的图像拼图碎片,将图像分成四个部分(假设拼图是2x2),然后存储并对每个部分应用遮罩.它看起来像下面

    // create standard puzzle pieces
    arryPieceEndPos = new int[mCols][mRows];
    arryPieceImg = new Bitmap[mCols * mRows];
    arryIsPieceLocked = new boolean[mCols * mRows];

    int pos = 0;
    for (int c = 0; c < mCols; c++) {
        for (int r = 0; r < mRows; r++) {
            arryPieceImg[pos] = Bitmap.createBitmap(mBitmap,
            c * mPieceWidth, r * mPieceHeight,
            mPieceWidth, mPieceHeight);

            arryIsPieceLocked[pos] = false;
            arryPieceEndPos[c][r] = pos;
            pos++;
        }
    }
Run Code Online (Sandbox Code Playgroud)

然后我使用辅助方法将遮罩应用于每个部分

private Bitmap maskMethod(Bitmap bmpOriginal, Bitmap bmpMask) {

    // adjust mask bitmap if size …
Run Code Online (Sandbox Code Playgroud)

java android bezier opengl-es

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

如何替换或删除Google地图位置蓝点周围的圆圈

优步发布了他们的应用程序的更新,他们已经以某种方式围绕我的位置蓝点脉动圈.

这是我正在谈论的蓝点和圆圈的图像(不是Uber截图):

在此输入图像描述

我的问题不是关于优步的实现,我的问题是我不相信可以从谷歌地图中删除蓝色圆圈.这是怎么做到的?如果我知道这一点,我可以在我当前的位置使用动画来达到同样的效果.

我已经尝试过以下操作

gmaps.getUiSettings().setMyLocationButtonEnabled(false);
Run Code Online (Sandbox Code Playgroud)

这对蓝点没有影响,也没有影响点周围的蓝色圆圈.提前致谢

android google-maps geolocation

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

如何在FireBase的同一个键下添加多个值?

如何在Firebase中为同一个密钥添加多个值?当我执行以下操作将数据添加到我的数据库时,对象只是互相替换.

    Map<String,Object> taskMap = new HashMap<>();
    taskMap.put("age", "12");
    taskMap.put("gender", "male");
    taskMap.put("age", "45");
    taskMap.put("gender", "female");
    reference.setValue(taskMap);
Run Code Online (Sandbox Code Playgroud)

Firebase中的数据仅显示年龄45岁,性别为女性.它超越了12岁和性别男性.我怎么两个都有?

android firebase firebase-realtime-database

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

在Google云端存储上恢复存储桶

我是新手,正在尝试Google云端存储.我在尝试学习如何恢复数据时删除了我的存储桶.我受到影响,即使你删除了一个桶,它也可以恢复.但我没有在控制台上找到该选项.

如何恢复我在Google云端存储上删除的存储区?

google-cloud-storage google-cloud-platform

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