我有一个ImageView并设置一个可绘制的。 现在我需要dynamic获取ImageView点击事件的drawable ID。 我怎么才能得到它? imgtopcolor = (ImageView) findViewById(R.id.topcolor); imgtopcolor.setImageResource(R.drawable.dr); // How do I get this back? 现在触摸imgtopcolor事件我想要drawable id,因为我设置不同的drawable每次都想要比较drawable与其他
有没有人设法使用RoundedBitmapDrawable ? 纠正我,如果我错了,但根据我的理解,它从一个规则的矩形图像的圆形图像。 我到目前为止所尝试的是这个 RoundedBitmapDrawable.createRoundedBitmapDrawable(getResources(), BitmapFactory.decodeResource(getResources(), iconResource)) 我试图实现的:将任何图像转换为圆形图像并使用ImageView进行显示。 如果我把事情搞混了,我所说的全是无意义的。 是否有可能(或更简单)与新的框架做到这一点? (Android L或新的支持库)
问题 我正在编写一个应用程序,应该有一个“幻灯片”function。 我发现这个以毕加索为基础的漂亮的图书馆 ,完全符合我的要求,而且大部分时间它都运行良好。 问题是,有时我的图像没有加载到幻灯片ImageView …它只显示一个“黑色canvas”,你可以看到下面的截图。 我从我的drawables从本地资源加载图像。 有时发生在纵向模式,有时在横向模式。 我使用哪个图像并不重要,有时会发生“黑度”。 编辑:我使用Android 5.0.2和4.4.2 – 它似乎并没有发生在4.4.2。 只在5.0.2上。 第二编辑:它发生在Android 5.1的Moto X 2014上。 第三次编辑:我试图加载的图片在磁盘上有45KB,分辨率为900×445。 然而,另一个编辑:我已经打开布局rects如所build议的,这些是结果: 它保持在滚动上。 有时,它变成白色而不是黑色(或白色,然后是黑色)。 我尝试过的其他东西:我的drawables位于res/drawable文件夹,当我将该文件夹中的文件更改为res/drawable-xxxhdpi滑块在5.0.2设备上工作。 跆拳道??? 到目前为止,我尝试了什么 我已经尝试了不同的图像,在幻灯片上加载多个图像,甚至这个拉动请求 ,改变毕加索滑翔的lib。 似乎没有任何工作,错误似乎是随机的。 一旦我试图使用url而不是本地存储上的实际可绘制的URL,它就起作用了。 与完全相同的图像。 以下是我如何加载图像: Fragment.java private SliderLayout slider; private PagerIndicator indicator; // … private void setupSlider() { HashMap<String,Integer> file_maps = new HashMap<>(); file_maps.put("Blah",R.drawable.banner_1); file_maps.put("Bleh",R.drawable.banner_2); file_maps.put("Blih",R.drawable.banner_3); file_maps.put("Bloh",R.drawable.banner_4); for (String […]
当我从一个自定义的位图中添加一个标记时,标记不会在我指定的位置居中。 我像这样添加它: // ID tramo final int tramoId = tr.getId(); // Nodos final Nodo[] nodos = tr.getNodos(); final PolylineOptions p = new PolylineOptions(); MarkerOptions m = new MarkerOptions(); // Seteamos posicion de linea y marker m.position(semisuma(nodos)); for (final Nodo n : nodos) { p.add(n.getLatLng()); } // Color de linea y marker BitmapDescriptor icon = null; […]
我试图在VectorDrawable中使用LayerList而不缩放vector。 例如: <layer-list> <item android:drawable="@color/grid_item_activated"/> <item android:gravity="center" android:drawable="@drawable/ic_check_white_48dp"/> </layer-list> 可绘制的ic_check_white_48dp id定义如下: <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="48dp" android:height="48dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path android:fillColor="#FFFFFFFF" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/> </vector> 所希望的效果是将检查图标居中绘制在图层上,而不缩放。 问题是,上面的图层列表会导致检查图标被缩放以适合图层大小。 我可以产生所需的效果,如果我用每个密度的PNGreplacevector绘图,并修改层列表如下: <layer-list> <item android:drawable="@color/grid_item_activated"/> <item> <bitmap android:gravity="center" android:src="@drawable/ic_check_white_48dp"/> </item> </layer-list> 有什么办法可以做到这一点使用VectorDrawable ?
如何使背景图像适合视图,但使用<bitmap />作为背景可绘制xml时保持其纵横比? 没有<bitmap>的android:gravity值给出了所需的效果。
我试图将一个hex值转换为一个int,所以我可以创build一个新的颜色绘制。 我不确定这是否可能,但根据文件,它应该。 它明白地要求 public ColorDrawable(int color) 在API级别1中添加使用指定的颜色创build一个新的ColorDrawable。 参数 color要绘制的颜色。 所以,我的代码不工作,因为我得到一个无效的int:“FF6666”错误。 有任何想法吗? int decode = Integer.decode("FF6666"); ColorDrawable colorDrawable = new ColorDrawable(decode);
我在我的项目中使用了context.getDrawable() : Drawable greenProgressbar = context.getDrawable(R.drawable.custom_progressbargreen); 但是,Eclipse给我一个错误,它需要一个Minimum API level of 21 。 这意味着经过快速的谷歌search我的APP只能在Android 5.0 。 由于不是所有的设备都使用这个版本的Android我想有一个替代context.getDrawable() 。
我试图从现有的文件path创build一个位图或绘图。 String path = intent.getStringExtra("FilePath"); BitmapFactory.Options option = new BitmapFactory.Options(); option.inPreferredConfig = Bitmap.Config.ARGB_8888; mImg.setImageBitmap(BitmapFactory.decodeFile(path)); // mImg.setImageBitmap(BitmapFactory.decodeFile(path, option)); // mImg.setImageDrawable(Drawable.createFromPath(path)); mImg.setVisibility(View.VISIBLE); mText.setText(path); 但setImageBitmap() , setImageDrawable()不显示path中的图像。 我用mText打印path,它看起来像: /storage/sdcard0/DCIM/100LGDSC/CAM00001.jpg 我究竟做错了什么? 任何人都可以帮助我?
在我的应用程序中,我必须设置一个通知的大图标。 LargeIcon必须是一个位图,我的绘图是vector图像(Android中的新function,请参阅此链接 )问题是,当我尝试解码一个vector图像的资源,我得到一个空返回。 以下是代码示例: if (BitmapFactory.decodeResource(arg0.getResources(), R.drawable.vector_menu_objectifs) == null) Log.d("ISNULL", "NULL"); else Log.d("ISNULL", "NOT NULL"); 在这个示例中,当我用一个“普通”图像replaceR.drawable.vector_menu_objectifs,一个PNG为例,结果不是空(我得到正确的位图)是否有什么我失踪?