好吧,所以我试图解决这个问题,怎么不知道如何继续 下面是一个ScrollView,其背景设置为@ drawable / patterrepeat
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="false"
android:background="@drawable/patternrepeat">
</ScrollView>
现在,patternrepeat是一个xml drawable,如下所示
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/pattern"
android:tileMode="repeat"/>
现在这个位图的src是一个PNG图像。
挑战在于如何访问这个“PROGRAMMATICY”ScrollView ----&gt; Bitmap -----&gt; Bitmap Original PNG Sources
原因是原始来源被平铺以创建位图,然后将其加载到ScrollView中以创建背景......
如何继续这个?
答案 0 :(得分:1)
// get bg drawable first
Drawable d = scrollView.getBackground();
// there are many types of drawables. In you case BitmapDrawable
// (according to your xml) should be returned. So...
if (d instanceof BitmapDrawable) { // check drawable type just in case
Bitmap sourceBitmap = ((BitmapDrawable)d).getBitmap();
}
sourceBitmap就是您所需要的。