我应该使用什么来获得更好的性能,是九宫格还是可绘制的xml资源?
为某种视图设置背景的最佳方法是什么?例如,背景的2个变体: 背景带有梯度,圆角和边界 背景只有一种颜色和圆角 那么,哪些变体会更好,九点或可绘制的XML资源? 解决方案 我的猜测是,NinePatch在大多数情况下会更快.这是我发现的. GradientDrawable(XML中用于rects的一种)用法_r1/android/graphics/drawable/gradientDrawable.java#249">此代码呼叫到Canvas,又使用本机呼叫,导致 SkCanvas ,另一方面, NinePatch的draw()几乎为零java代码 core/jni/android/graphics/ninepatch.cpp">呼叫NinePatch.cpp 不久请调用NinePatchImpl.cpp - NinePatch_draw() ----这就是魔术所在.那里的代码在标记区域进行迭代,在许多后续呼叫之后,使用SkDraw中的逻辑大致相同(仅drawR
0 2023-05-23
编程技术问答社区
如何在安卓画布上绘制部分圆形矩形?
我想在画布上绘制圆形矩形填充颜色(或位图),并用中风,但没有某些选定的角落 ,也没有边界在某些选定的侧面.有什么想法我能实现这一目标? 解决方案 您可以将绘图过程分为两个部分. 绘制填充区域 试图绘制标准SDK API不支持的形状时,canvas.drawpath方法将是一种好方法. Path path = new Path(); Rect drawingRect = {the rect area you want to draw} RectF topLeftArcBound = new RectF(); RectF topRightArcBound = new RectF(); RectF bottomLeftArcBound = new RectF(); RectF bottomRightArcBound = new RectF(); topRightArcBound.set(drawingRect.right - topRightRadius * 2, dr
4 2023-05-21
编程技术问答社区
如何在android中使用parse api在parse服务器中上传图片
我想在Android中的Parse Cloud Server中上传图像.但是我无法做到. 我尝试了以下代码: Drawable drawable = getResources().getDrawable(R.drawable.profilepic) ; Bitmap bitmap = (Bitmap)(Bitmap)drawable() ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); byte[] data = stream.toByteArray(); ParseFile imageFile = new ParseFile("image.png", data); imageFile.saveInBackground(); 请让我知道我该怎么做. 解
0 2023-05-20
编程技术问答社区
Android ShapeDrawable以编程方式设置背景和边界
我有一个ShapeDrawable: final ShapeDrawable drawable = new ShapeDrawable(shape); drawable.getPaint().setStyle(Paint.Style.FILL); drawable.getPaint().setColor(0xFFffffff); 我想为此可绘制的框架设置边框(笔触)颜色和宽度. 我尝试setStyle(Paint.Style.FILL_AND_STROKE) 但是它设置了背景和边框相同的颜色 解决方案 使用 drawable.getPaint().setStyle(Paint.Style.STROKE); drawable.getPaint().setStrokeWidth(2); // in pixel 其他解决方案 如果您有一个视图,例如需要设置背景和边框的文本视图,则可以像此Kotlin代码一样执行此操作: val view = findV
0 2023-05-16
编程技术问答社区
视图组叠加不显示视图
我目前正在尝试创建一个益智游戏,每个拼图游戏都有网格,并且每个单元格应该能够显示触觉的视觉(唯一视觉)指示.因此,我打算使用 viewGroupOveroverlay自定义视图: 在每个 cellview 中 @Override public boolean onTouchEvent(MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN) { LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); View myView = inflater.inflate(R.layout.overlay, null); gridView.getOverla
0 2023-05-15
编程技术问答社区
保存图像后,无法在安卓的画廊中看到它。
我使用InputStream和OutputStream将图像从res/drawable保存到Gallery.它可以正常工作并保存图像.但是问题是它不会在画廊中更新图像.如果我使用ES File Explorer检查文件夹,那么我可以在那里看到图像.我还检查了ddms,它还在执行write代码执行后尽快更新图像. 如果我保存服务器映像,它可以正常工作.如何防止这个问题?我想在图像保存后立即更新画廊. 我还尝试了MediaScanner扫描文件夹,但没有效果. 我的代码: Toast.makeText(context, "Downloading Image...\nPlease Wait.", Toast.LENGTH_LONG).show(); File direct = new File(Environment.getExternalStorageDirectory() + "/Im
6 2023-05-15
编程技术问答社区
android loadIcon产生outOfMemoryError
我只有一点ListView包含所有已安装的应用程序及其图标 但是,如果安装了太多应用程序,我会在做outOfMemoryErrors 时遇到outOfMemoryErrors Drawable app_icon = applicationInfoList.get(i).loadIcon(context.getPackageManager())); 对于每个ListEntry 到目前为止没问题,我知道为什么我遇到此错误(已加载太多图标,VM堆太少) 但是我看了Androids ManageApplications 活动的源代码 而且我从来没有在使用设置ManageApps 的同时,在任何一个 oom错误中运行 但是很奇怪的是,他们以完全相同的方式做 您在这里可以看到的那样: ,其中Drawable icon被加载 在列表视图中设置它的位置 但是我真的不明白为什么我会得到一个oom,而他们没有? 解决方案 自己解决了. 我现在将每个图像加载到缓
2 2023-05-15
编程技术问答社区
OneSignal-Pushnotification的小图标在安卓系统上不显示
我们有一个cordova-app,该应用包含每个可绘制的XY文件夹中的文件'iCon.png'.我们使用OneSignal提供推送通知.通知正在按预期工作.除了小图标.我的手机顶部栏上只有一个空白图标,其中显示了应用程序符号.我尝试使用以下片段: { ... "small_icon" : "@android:drawable/icon.png" .... } 我还尝试了很多其他没有" android"的变化,没有"可绘制",无斜线,带有.png和.png.等等. 我在文档中找到了这一点: https://documentation.oneignal.oneignal.com/reference.com/reference#创建notification ) small_icon: stringOptional Specific Android icon to use. If blank the app icon is used. Must be th
0 2023-05-08
编程技术问答社区
以编程方式修改ActionBarDrawerToggle可画性
有人知道一种通过资源ID设置在构造函数之后,以获取用于ActionBardrawerToggle的可绘制方法吗?我正在使用导航抽屉,我想以编程方式将颜色过滤器应用于图标,但是我不知道如何以绘制方式访问它.任何帮助,将不胜感激.谢谢! 解决方案 作为该视图的框架ID是隐藏的,我发现访问它的唯一方法是根据Home View在其中的位置行走层次结构. public ImageView getUpView() { ViewGroup parentView = (ViewGroup) findViewById(android.R.id.home).getParent(); return (ImageView) parentView.getChildAt(0); }
8 2023-04-20
编程技术问答社区
如何在安卓汉堡包菜单图标上实现一个徽章计数器
我正在尝试在汉堡菜单图标上实现一个反徽章(即不是其他菜单图标).类似于eBay应用程序.如.. 有人看过这个吗?试图找出最清洁的方法. 解决方案 使用Toolbar Widget您可以按照以下示例来实现这一目标很容易: 首先创建Oval shape 然后创建一个toolbar小部件如下:
10 2023-04-20
编程技术问答社区
如何使用AsyncTask从Url设置图片?
我是一个新手程序员,我正在制作一个Android程序,该程序从给定的URL在ImageView上显示图像.我的问题是如何在异步上使用它? 这些代码可在Min SDK 2.2上使用,但我切换到Min SDK 3.0,因此它需要在异步上运行.感谢您的帮助! :) protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); satellite(); //satellite's image from main menu } //******satellite url private void satellite() { // TODO Auto-generated method stub ImageView imgView =(ImageVie
4 2023-04-06
编程技术问答社区
PhoneGap Android:如何强制应用程序使用来自 asset\www\res 而不是 res\drawable 文件夹的图标?
我已经使用Eclipse创建了新的Android Phonegap项目,并将我现有的iPhone Phonegap项目www文件夹放置. 我在此处显示的Android文件夹中的Android设备中添加了所有图标和屏幕. 对于HDPI,我有以下图标和屏幕. 资产\ www \ res \ icon \ android \ icon-72-hdpi.png 资产\ www \ res \ screen \ android \ screen-hdpi-portrait.png 当我在模拟器中运行应用程序时,它会不断显示默认的电话隙图标和启动屏幕. 我为LDIP,MDPI,HDPI,XHDPI添加了图标和屏幕. 这是我的config.xml
32 2023-03-31
编程技术问答社区
可画图与位图
我正在为Android编写一个实时游戏,在查看了SDK中提供的样本中的一些代码之后,我对何时应该使用 bitmap 或可绘制的示例感到困惑在游戏中的精灵中. 有什么区别?对于精灵而言,哪一个更好(更快),哪一个更好? 解决方案 要了解一个更好的想法,您可能想观看此视频: http://www.youtube.com/watch?v=u4bk5rmipic /p> 有趣的是,他不是Java程序员,但是一位经验丰富的游戏程序员,他的方法可以帮助您编写测试以确定哪个是最好的. 例如,如果您实际上有静态背景,则可能会发现Bitmap对背景图像更好,但是,如果您要通过编程方式更改它,则可能会有问题. ,除了速度之外,还有其他考虑因素,例如,您可能会发现内存将是一个问题,并且您一次想在屏幕上有多少个精灵将是一个问题.
2 2023-03-28
编程技术问答社区
Android setBackgroundResource导致内存不足的问题
我正在研究一个游戏簿应用程序,该应用程序显示了ViewPager中的12个视图. 这是我的自定义pageradapter: private class ImagePagerAdapter extends PagerAdapter { private int[] mImages = new int[] { R.drawable.copertinai, R.drawable.blui, R.drawable.azzurroi, R.drawable.rossoi, R.drawable.gialloi, R.drawable.verdei, R.drawable.rosai, R.drawable.grigioi, R.drawable.neroi, R.drawable.arancionei, R.drawable.marronei, R.drawable.violai, R.d
18 2023-03-24
编程技术问答社区
改变RecyclerView中单个可画图的颜色将改变所有可画图。
我只是试图根据一个值更改行内的颜色,但没有一个可绘制的适配器更改了所有这些. 这是我的适配器: public class ReportAdapter extends RecyclerView.Adapter { DataBaseHelper dataBase; private LayoutInflater inflater; List data = Collections.emptyList(); Context context; OnItemClickListener itemClickListener; public ReportAdapter(Context context, List data, OnItemClickListener itemClickListener) {
6 2023-03-20
编程技术问答社区
对带有头像、文字和图标的列表的材料设计建议
我想创建Material Designed Android应用程序,并尝试遵循Google关于新的RecylcerView专门制作布局的所有建议. RecyclerView有avatar ImageView,title and subtitle TextView和动作图标ImageView. 我应该在width和height的ImageView的适当位中放置什么值,因此它支持不同的屏幕尺寸和密度,以及我应该从System Icons Pack中选择这些可绘制物的大小? 列表的建议: ??? 在XML代码中是我不知道要放置什么的未知物品: XML:
4 2023-03-19
编程技术问答社区