我如何将im2放在正确的位置
FrameLayout rv =(FrameLayout)findViewById(R.id.my_ph);
ImageView im1 = new ImageView(this);
im1.setBackgroundResource(R.drawable.lamp_on);
im1.layout(100, 100,120, 120);
rv.addView(im1);
我的布局
<FrameLayout android:id="@+id/my_ph" xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/sketch" />
</FrameLayout>
我希望im1将位于位置x,y
的ImageView之上答案 0 :(得分:11)
在布局中添加一个ImageView并将顶部,底部,右侧,左侧对齐到第一个。让它看不见;
<FrameLayout android:id="@+id/my_ph"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/sketch" android:layout_alignParentTop="true"/>
<ImageView
android:id="@+id/image2"
android:layout_width="fill_parent"
android:layout_height="fill_paren"
android:layout_alignTop="@id/image"
android:layout_alignLeft="@id/image"
android:layout_alignRight="@id/image"
android:layout_alignBottomp="@id/image"
android:visibility="INVISIBLE"/>
</FrameLayout>
然后在代码中:
ImageView image2 =(ImageView)findViewById(R.id.image2);
image2.setVisibility(View.VISIBLE);
image2.setImageResource(R.drawable.my_image);
答案 1 :(得分:2)
和答案......
RelativeLayout rv = (RelativeLayout) findViewById(R.id.my_ph);
RelativeLayout.LayoutParams params;
ImageButton im1 = new ImageButton(this);
im1.setBackgroundResource(R.drawable.lamp);
im1.setId(i);
im1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
TextView tx = (TextView) findViewById(R.id.textView1);
tx.setText("lamp #" + v.getId());
}
});
params = new RelativeLayout.LayoutParams(40, 40);
params.leftMargin = x;
params.topMargin = y;
rv.addView(im1, params);
XML布局:
<RelativeLayout
android:id="@+id/my_ph"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="bottom">
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:background="@drawable/map" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_below="@+id/image"
android:layout_alignParentLeft="true">
</TextView>
</RelativeLayout>
答案 2 :(得分:1)
使用 android:background 而不是在imageView xml中使用 android:src ,而只是在源java文件中接收它,然后使用以下代码:
ImageView img=(ImageView)findViewById(R.id.image);
img.setBackgroundDrawable(getResource().getDrawable(R.drawable.lamp_on));
希望这对你有用。
答案 3 :(得分:0)
使用此make xml在drawble文件夹中,您可以以相同的方式添加更多图像。他们都会彼此重叠。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<item>
<bitmap android:src="@drawable/img1"
android:gravity="center"
/>
</item>
<item>
<bitmap android:src="@drawable/img2"
android:gravity="center"
/>
</item>
</layer-list>