Java 在Android中将视图放在另一个视图上

Java 在Android中将视图放在另一个视图上,java,android,android-layout,Java,Android,Android Layout,在我的android应用程序中,我想在ImageView上加一个边框。我不知道怎样才能把视图放到另一个视图上。实际上,边框是一个自定义视图 自定义视图类: public class CropBorder extends View { private Paint paint = new Paint(); public CropBorder(Context context) { super(context); } public CropBord

在我的android应用程序中,我想在
ImageView
上加一个边框。我不知道怎样才能把视图放到另一个视图上。实际上,边框是一个自定义视图

自定义视图类:

public class CropBorder extends View {

    private Paint paint = new Paint();


    public CropBorder(Context context) {
        super(context);
    }

    public CropBorder(Context context, AttributeSet attributeSet) {
        super(context, attributeSet);
    }


    @Override
    public void onDraw(Canvas canvas) {
        float[][] circleXY = {{5, 5}, {155, 5}, {305, 5}, {5, 105}, {155, 105}, {305, 105}, {5, 55}, {305, 55}};
        float[][] lineXY = {{5, 5, 305, 5}, {5, 105, 305, 105}, {5, 5, 5, 105}, {305, 5, 305, 105}};

        paint.setColor(Color.BLACK);
        paint.setStrokeWidth(1);

        for(int i = 0 ; i < circleXY.length ; i++)
            canvas.drawCircle(circleXY[i][0], circleXY[i][1], 5, paint);

        paint.setStrokeWidth(2);

        for(int i = 0 ; i < lineXY.length ; i++)
            canvas.drawLine(lineXY[i][0], lineXY[i][1], lineXY[i][2], lineXY[i][3], paint);
    }

}
布局XML:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/crop_test_layout"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <com.nvtech.backend.utility.imageEditor.CropBorder
        android:id="@+id/crop_border"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="10dp" >
    </com.nvtech.backend.utility.imageEditor.CropBorder>

    <ImageView
        android:id="@+id/android_image"
        android:src="@drawable/android"
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:layout_marginTop="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="10dp"
        android:layout_gravity="center"
        android:scaleType="fitXY"
        android:contentDescription="@string/android_image_description" >
    </ImageView>

</LinearLayout>

您只需将图像视图包装成线性布局,然后使用填充设置边框:

<LinearLayout // this is your root container ... >
    <LinearLayout
        android:id="@+id/content_item_image_wrapper"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#00FFFFFF"
        android:padding="3dip" >

        <ImageView
            android:id="@+id/user_profile_thumbnail"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:maxHeight="80dp"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>
</LinearLayout>

谢谢您的回答。但图像上的边界有点像作物边界。我不想为
ImageView
设置边框。
<LinearLayout // this is your root container ... >
    <LinearLayout
        android:id="@+id/content_item_image_wrapper"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="#00FFFFFF"
        android:padding="3dip" >

        <ImageView
            android:id="@+id/user_profile_thumbnail"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:maxHeight="80dp"
            android:src="@drawable/ic_launcher" />
    </LinearLayout>
</LinearLayout>