如何在Android形状的左上角添加按钮?

时间:2013-11-14 13:30:36

标签: android android-drawable android-shapedrawable

我在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>

我添加了一个屏幕截图以获得更多解释:

enter image description here

我希望我的矩形左上角有十字架,但你可以看到它实际上不是这样的:(。

提前感谢您的帮助。

1 个答案:

答案 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);