Articles of android

Android:加快活动之间的共享元素转换

我在两个活动之间有一个共享元素转换,它按以下方式工作: Intent someintent = new Intent(this, someclass.class); if (Build.VERSION.SDK_INT >= 21) { ActivityOptions options = ActivityOptions.makeSceneTransitionAnimation(this , new Pair(viewClicked.findViewById(R.id.someimage), “someimage”) , new Pair(viewClicked.findViewById(R.id.someicon), “someicon”) ); startActivity(someintent, options.toBundle()); } else { startActivity(someintent); } 这种方法很好,但转变的速度非常缓慢。 首次点击图像时,它似乎在转换发生之前停止了一两秒钟。 这是由于正在加载的活动的“权重”还是可配置的延迟?

当我尝试从Eclipse导出我的Android应用程序时aapt.exe崩溃

自从我两天前将我的Android SDK更新到版本API 14后,我在Windows 7 x64笔记本电脑上使用Eclipse Helios时遇到了麻烦。 当我尝试导出项目时,一切正常,直到我按下“完成”按钮:然后出现一个popup窗口,说“aapt.exe已经停止工作”,我无法获得我签名的apk; 该项目不会像往常一样返回错误和编译。 我用Google搜索find了解决方案,但我发现的解决方案没有任何效果: 我清理了项目(项目>清洁) 我禁用了自动构建(Project> Build Automatically) 我删除了所有导入的库(右键单击项目> Properties> Java Build Path) 我更新了所有相关软件(帮助>检查更新) 我把logcat模式放在详细 我删除了.9.png drawables并读回了我的项目 这些是我发现的与aapt.exe问题相关的所有解决方案。 你还有其他建议吗? PS:我的所有.9.png文件都没有正确显示布局问题,但我不知道它是否相关。

如何使用Parcelable传递Drawable

我有一个class级,我有一个Drawable作为成员。 这个类我用于跨活动发送数据作为Parcelable额外。 为此,我扩展了parceble,并实现了所需的function。 我能够使用读/写int / string发送基本数据types。 但是在编组Drawable对象时我遇到了问题。 为此我试图将Drawable转换为byte array ,但我得到类Drawable转换exception。 我使用以下代码将我的Drawable转换为Byte数组: Bitmap bitmap = (Bitmap)((BitmapDrawable) mMyDrawable).getBitmap(); ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); byte[]byteArray = stream.toByteArray(); out.writeInt(byteArray.length); out.writeByteArray(byteArray); 并将字节数组转换为Drawable我使用以下代码: final int contentBytesLen = in.readInt(); byte[] contentBytes = new byte[contentBytesLen]; in.readByteArray(contentBytes); mMyDrawable = new BitmapDrawable(BitmapFactory.decodeByteArray(contentBytes, 0, contentBytes.length)); 当我运行这个时,我得到了类强制转换exception。 我们如何使用HashMap编写/传递Drawable? 我们有什么办法可以在Parcel中传递Drawable。 谢谢。

像Whatsapp和Android上的其他信使一样的图像压缩

我使用以下代码进行图像压缩。 该代码压缩大于2 MB的图像文件。 但是这段代码需要时间,图像质量保持纯净。 public static String compressImage(String imagePath, Context context) { String resizeImagePath = null; String filePath = imagePath; CustomLogHandler.printDebug(TAG, “resizeImagePath:” + imagePath); Bitmap scaledBitmap = null; int imageScal = 1; // File size greater then 2mb DecimalFormat df = new DecimalFormat(“0.00”); File imgFile = new File(filePath); double bytes = imgFile.length(); double kilobytes = […]

在Android DatePicker中隐藏年份字段?

我正在使用一个基本的DatePicker,我试图找出如何在DatePickerDialog上隐藏Year字段,以便只显示Month和Day。 我不介意今年的基础代码仍然存在,我只想在对话框中隐藏年份字段。 你知道的事情如下: ((View) myYear).setVisibility(View.GONE); 我知道它不起作用,因为myYear是一个int而不是一个视图,但是沿着这些方向。 可能吗?

如何从我的class级访问Activity UI?

我有一个活动,它创建了我的类的对象实例: file MyActivity.java: public class MyActivity extends Activity { TextView myView = (TextView)findViewById(R.id.myView); … Points myPoints new Points(); … } ————————————————————– file Points.java: private class Points { … HOW TO USE myView HERE ??? … } ————————————————————– 如何在我的类中使用UI对象(不扩展Activity)? 我应该将一些上下文传递给我的Points类吗? 我该怎么办?

如何将JSONObject转换为类对象?

我需要使用gson库将JSONObject转换为Location对象,用于我的android项目。 我不知道该怎么做。 谁能帮我这个。 提前致谢。 我有一个类似的代码 JSONArray input = new JSONArray(extras.getString(“loc_json”)); 我想将从JSONArray中获取的JSONObject转换为Location类对象。 我只是想知道是否有一个函数可以直接执行它。 如果我以错误的方式提出问题,请原谅我。 由于我没有直接function,我这样做了。 loc_temp = (Location) gson.fromJson(input.getJSONObject(i).toString(), Location.class);; 抱歉这个愚蠢的问题。

强制BarChart Y轴标签是整数?

我使用MPAndroidChart创建了一个BarChart,我正在动态输入数据。 这意味着我还需要动态确定Y轴。 我的所有数据都表示为整数,但Y轴有时会将图例显示为带小数点后1位的十进制值。 我试图使用ValueFormatter来舍入值,但问题是有时Y值不在整数值位置(例如0.8,1.6,2.4等)。 因此,如果我只是将它们编辑为整数,则它们将不在正确的位置。 无论如何我可以强制BarChart只在Integer位置显示值吗? 它可以跳过一些,实际上我希望它在值变大时。 编辑:当我说整数不在正确的位置时,我的意思是,一旦我修改了每个标签显示的内容,它们就不是“正确的”。 在我的例子中,我有5个条显示值3,4,2,3,2。 第一个图像是’默认’,第二个是我使用以下编辑值格式化程序后的图像: myBarChart.getYLabels().setFormatter(new ValueFormatter() { @Override public String getFormattedValue(float v) { return ((int) v)+””; } }); 正如我们从这些图像中看到的,我的整数值不是它们应该的位置(并且有两个’2’)。 在这个例子中我除了显示值0,1,2,3,4。 如果我有更多的数据,我希望它足够聪明,只显示我有空间的值,所以例如,如果数据包含0-50的值,它将显示类似0,10,20,30 ,40,50或可能0,15,30,45等

如何编写自定义ExpandableListAdapter

我正在寻找自己的ExpandableListAdapter ,它的运行方式与ArrayAdapter类似。 我的数据模型是这样的: public class Group { private String name; private List children; } public class Child { private String name; } 很简单。 如何将此关系映射到ExpandableListAdapter实现? 我现在正在使用SimpleExpandableListAdapter工作,但我需要对项目进行更多自定义控制(显示图标等)。 我该怎么办? 主要的是我需要一个add()方法来添加组,并在添加和从适配器中删除子项时使列表无效。 我真的很惊讶SDK中没有一个实现(甚至是抽象的实现),这有助于实现这一点。

如何在屏幕中心设置android进度条

我试图在屏幕中央显示进度条,但它不会显示在中心。 下面是我的布局。 我在这做错了什么? 基本上这是一个布局,以显示图像和Android画廊小部件在上面。 当用户点击缩略图时,我正在从网络加载图像,我想在加载图像时显示进度对话框。