Java 在Android中将视图放在另一个视图上
在我的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
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>