2011-06-12 84 views
0

在我的代码中,我重新调整位图大小,然后在我的代码中使用imageView.setImageBitmap()来使用位图。然而,出于某种原因,图像将不会在布局的顶部,而是在屏幕的中心结束(http://imageshack.us/photo/my-images/841/ssbluepic.png/位图在RelativeLayout中未正确对齐

这里是我的布局文件

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

<!-- <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:id="@+id/textView1"></TextView> 


    <TextView android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:id="@+id/textView2"></TextView> --> 



    <ImageView android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:id="@+id/imageView1" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true"></ImageView> 
</RelativeLayout> 

代码(两个TextViews被注释掉)。

任何与此有关的帮助将不胜感激!

+0

尝试以编程方式在布局中添加图像位置的参数。 – Dayerman 2011-06-12 22:02:12

回答

0

我用你的XML文件和下面的java代码。顶部的图像定位正常。可能你的java代码出了问题。

package com.androidplant.RelLayoutTest; 

import android.app.Activity; 
import android.graphics.Bitmap; 
import android.graphics.BitmapFactory; 
import android.os.Bundle; 
import android.widget.ImageView; 

public class RelLayoutTestActivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Bitmap bitmap = BitmapFactory.decodeResource(getResources(), 
       R.drawable.icon); 
     bitmap = Bitmap.createScaledBitmap(bitmap, 18, 18, true); 

     ImageView imageView = (ImageView) findViewById(R.id.imageView1); 
     imageView.setImageBitmap(bitmap); 
    } 
} 
+0

我在createScaledBitmap方法中有错误的宽度/高度参数。谢谢你的帮助! – mikez 2011-06-14 06:12:55

0

也许你的形象是在顶部,但获得重新调整或在图像中包含空间?看看ImageView.ScaleType。

+0

我尝试使用fitStart,它的工作原理,直到我取消注释textViews,然后只有他们出现(重叠)。 – mikez 2011-06-12 22:31:57

+0

这是因为它们都是alignParentTop。不知道你现在想做什么,但看看RelativeLayout的定位选项(如果这是你真正想要的布局类)。 – 2011-06-13 20:12:36