问题描述
- 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); } }
解决方案
在 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>
解决方案二:
final ImageView iv2 = new ImageView(this);
iv.setImageResource(R.drawable.ctdeasytwo);
改为
final ImageView iv2 = new ImageView(this);
iv2 .setImageResource(R.drawable.ctdeasytwo);
解决方案三:
1.你可以把属性设为wrap_content试试
2.设置一下相对属性,把第一张图片显示在第二个图片下面
时间: 2025-01-25 09:18:33