我的要求是在屏幕底部显示一半的车轮图像。我不能剪切图像,因为我需要在运行时旋转它。我尝试了相对布局的不同选项(通过将其设置为alignParentBottom为true并通过给予-ve margin bottom),线性布局(通过给出边距)。它适用于普通的mdpi(320X480),hdpi(480X800)设备。但是当设备的高度增加(如480X870)时,整个轮子都会显示出来。
车轮图像是
,屏幕看起来像
需要有关此方面的帮助。提前谢谢。
答案 0 :(得分:0)
您始终可以通过Bitmap.createBitmap()
静态方法裁剪所需的部分,然后将其指定给视图:
像...一样的东西。
// Set some constants
private static final Bitmap SOURCE_BITMAP = BitmapFactory.decodeFile(....); // Get the source Bitmap using your favorite method :-)
private static final int START_X = 10;
private static final int START_Y = 15;
private static final int WIDTH_PX = 100;
private static final int HEIGHT_PX = 100;
// Crop bitmap
Bitmap newBitmap = Bitmap.createBitmap(SOURCE_BITMAP, START_X, START_Y, WIDTH_PX, HEIGHT_PX, null, false);
// Assign new bitmap to ImageView
ImageView image = (ImageView)findViewById(R.id.image_view);
image.setImageBitmap(newBitmap);
在这里,您的SOURCE_BITMAP
是您的原始转向图像。
我希望,这有帮助。
答案 1 :(得分:0)
在xml文件中设置android:translationY =“ 300dp”。
这会将图像移到底部
答案 2 :(得分:0)
首先将imageview设置为xml文件中相对布局的底部对齐。 然后以编程方式将图像视图边距设置为图像视图高度的一半(或所需比例)。
int height = imageview.getHeight();
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT
);
params.setMargins(0, height/2, 0, 0);
imageview.setLayoutParams(params);