我试图想出一些方法来禁用状态栏而不完全隐藏它。这是在 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)
这是我使用的方法。它用于检测何时访问状态栏,但是,一旦获得焦点,它就不会关闭状态栏。我错过了什么?提前致谢。
我找到了一些关于如何更改存储在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)
还有什么我做错了?提前致谢!
优步应用程序有一条弯曲的折线,甚至还包括一个阴影.阴影可能只是一个黑色,透明折线连接两个点.这很容易.但第二条折线有曲线,如何实现呢?这是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) 我在从 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) 我正在使用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) 我正在显示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) 我正在尝试创建一个拼图游戏演示,我想知道在不使用蒙版的情况下创建拼图的替代方法.目前我通过拍摄完整的图像拼图碎片,将图像分成四个部分(假设拼图是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) 优步发布了他们的应用程序的更新,他们已经以某种方式围绕我的位置蓝点脉动圈.
这是我正在谈论的蓝点和圆圈的图像(不是Uber截图):
我的问题不是关于优步的实现,我的问题是我不相信可以从谷歌地图中删除蓝色圆圈.这是怎么做到的?如果我知道这一点,我可以在我当前的位置使用动画来达到同样的效果.
我已经尝试过以下操作
gmaps.getUiSettings().setMyLocationButtonEnabled(false);
Run Code Online (Sandbox Code Playgroud)
这对蓝点没有影响,也没有影响点周围的蓝色圆圈.提前致谢
如何在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岁和性别男性.我怎么两个都有?
我是新手,正在尝试Google云端存储.我在尝试学习如何恢复数据时删除了我的存储桶.我受到影响,即使你删除了一个桶,它也可以恢复.但我没有在控制台上找到该选项.
如何恢复我在Google云端存储上删除的存储区?
android ×9
bitmap ×2
google-maps ×2
bezier ×1
colors ×1
firebase ×1
geolocation ×1
gridview ×1
java ×1
mediastore ×1
opengl-es ×1
picasso ×1
polyline ×1
statusbar ×1
string ×1