我想开发一个appstore。我想自动在图标上添加标签(如“新”或“热”标签)。喜欢这个图像
怎么可能?我的意思是我可以改变图像的可见性但是android布局不会让图像视图在另一个上面。那怎么可能呢? 感谢。
答案 0 :(得分:2)
请使用此代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/image"
android:layout_width="150dp"
android:layout_height="150dp"
android:background="@android:color/white" />
<ImageView
android:id="@+id/line"
android:layout_width="70dp"
android:layout_height="20dp"
android:layout_alignEnd="@+id/image"
android:background="@android:color/holo_purple"
android:rotation="20" />
<TextView
android:id="@+id/lable"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/image"
android:padding="8dp"
android:rotation="20"
android:text="New"
android:textColor="@android:color/white" />
</RelativeLayout>
答案 1 :(得分:0)
您可以在RelativeLayout或FrameLayout中创建两个图像视图,使它们重叠,然后设置其中一个android:visibility="gone"
。在需要时将它们设置为可见。
答案 2 :(得分:0)
为您提供另一种解决方案,我相信它更具可移植性,并以某种方式为您提供不那么混乱的xml布局文件。
public static Bitmap combineBitmaps(Bitmap base, Bitmap label, Context context) {
if (base == null || label == null) {
System.err.println("Bitmap is null!");
return null;
}
if(base.getWidth() != label.getWidth() || base.getHeight() != label.getHeight()){
System.err.println("Width or height mismatch!");
return null;
}
Canvas canvas = new Canvas(base);
canvas.drawBitmap(label, 0f, 0f, null);
return base;
}