2 slaks SLaks 于 2013.02.22 17:51 提问

android 中的动态相对布局

我想在布局顶端放置两个图像。用一个 xml 文件可以很好,但是我想动态的实现。ctdeasyone是一个透明的图像。

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

    <ImageView 
        android:id="@+id/bck1" 
        android:src="@drawable/fish2"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"        
        android:scaleType="fitXY" 
        android:layout_gravity="center">
    </ImageView>

    <ImageView 
        android:id="@+id/bck2" 
        android:src="@drawable/ctdeasyone"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"        
        android:scaleType="fitXY" 
        android:layout_gravity="center">
    </ImageView>

</RelativeLayout>

但是只有第二个图像显示(透明的那个)。为什么呢?

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

        // Grabbing the Application context         
        final Context context = getApplication();                   

        RelativeLayout relativeLayout = new RelativeLayout(this);                   

        final ImageView iv = new ImageView(this);         
        iv.setImageResource(R.drawable.fish2);


        RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(     
                RelativeLayout.LayoutParams.FILL_PARENT, 
                RelativeLayout.LayoutParams.FILL_PARENT);
        relativeLayout.addView(iv,lp);        

        // Creating transparent image
        final ImageView iv2 = new ImageView(this);
        iv.setImageResource(R.drawable.ctdeasytwo);
        RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(     
                RelativeLayout.LayoutParams.FILL_PARENT, 
                RelativeLayout.LayoutParams.FILL_PARENT);
        relativeLayout.addView(iv2,lp2);
        setContentView(relativeLayout);
    }        
}

3个回答

zxd_72
zxd_72   2013.02.27 11:40
已采纳

在 abmenu.xml 项目中添加 showAsAction

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_save"
      android:icon="@drawable/ic_menu_save"
      android:title="@string/menu_save"
      // This line //
      android:showAsAction="ifRoom|withText" />
</menu>
franzhong
franzhong   2013.02.23 14:43
   final ImageView iv2 = new ImageView(this);
        iv.setImageResource(R.drawable.ctdeasytwo);

改为

   final ImageView iv2 = new ImageView(this);
         iv2 .setImageResource(R.drawable.ctdeasytwo);
zlQQhs
zlQQhs   2013.02.25 23:13

1.你可以把属性设为wrap_content试试
2.设置一下相对属性,把第一张图片显示在第二个图片下面

Csdn user default icon
上传中...
上传图片
插入图片