在屏幕底部显示一半图像

时间:2013-05-08 09:17:15

标签: android android-layout

我的要求是在屏幕底部显示一半的车轮图像。我不能剪切图像,因为我需要在运行时旋转它。我尝试了相对布局的不同选项(通过将其设置为alignParentBottom为true并通过给予-ve margin bottom),线性布局(通过给出边距)。它适用于普通的mdpi(320X480),hdpi(480X800)设备。但是当设备的高度增加(如480X870)时,整个轮子都会显示出来。

车轮图像是

Wheel Image

,屏幕看起来像

Output screen

需要有关此方面的帮助。提前谢谢。

3 个答案:

答案 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);