我有一个RelativeLayout
,它有一个可绘制的背景。如何将背景drawable转换为位图,以便我可以使用它来获取
View.OnTouchListener llTouch = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
x = (int)event.getX();
y = (int)event.getY();
int action = event.getAction();
int pixel = bitmap.getPixel((int)x,(int) y);
}
我的XML是这样的:
<RelativeLayout
android:id="@+id/rlColorSpect"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/palette2" >
<ImageView
android:id="@+id/ivSquare"
android:layout_width="@dimen/title_text_pad"
android:layout_height="@dimen/title_text_pad"
android:layout_alignParentBottom="true"
android:scaleType="fitXY"
android:src="@drawable/esquare" />
</RelativeLayout>
答案 0 :(得分:1)
你可以获得像这样的布局维度:
RelativeLayout myRelativeLayout = (LinearLayout) findViewById(R.id.rlColorSpect);
int layoutWidth = myRelativeLayout.getWidth();
int layoutHeight = myRelativeLayout.getHeight();
并使用它调整位图大小..
其他选项是您在创建位图后为其创建RelativeLayout规则: here
另一个想法是在该布局上放置一个不可见的imagview并用fill_parent拉伸它,这样它将覆盖整个布局并测量该图像以获得布局尺寸