我在Android
项目中创建了一个形状,我想在左上角添加一个按钮。
这是我的形状:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/transparent" />
<stroke android:width="1dp" android:color="#000000" />
<padding android:left="2dp" android:top="1dp" android:right="2dp"
android:bottom="1dp" />
</shape>
我添加了一个屏幕截图以获得更多解释:
我希望我的矩形左上角有十字架,但你可以看到它实际上不是这样的:(。
提前感谢您的帮助。
答案 0 :(得分:0)
经过长时间的讨论,我只需在Shape
中将Right and Below
crossImageButton
添加到Relativelayout
作为父母。
我在这里分享了代码,根据您的要求进行必要的修改
RelativeLayout parent = (RelativeLayout)findViewById(R.id.parent);
ImageButton ib = new ImageButton(getApplicationContext());
ib.setId(1);
ib.setBackgroundResource(R.drawable.cross_button);
RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
ib.setLayoutParams(lp);
parent.addView(ib);
ImageView iv = new ImageView(getApplicationContext());
iv.setBackgroundResource(R.drawable.myshape);
iv.setImageResource(R.drawable.ic_launcher);
RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams(50,50);
lp1.addRule(RelativeLayout.RIGHT_OF, ib.getId());
lp1.addRule(RelativeLayout.BELOW, ib.getId());
iv.setLayoutParams(lp1);
parent.addView(iv);