相对于另一个图像视图定位图像视图
Position imageview relative to another imageview
我无法在图像视图的右下角添加水印。
所以,我的想法是在另一个图像视图(我正在编辑的图像)的底部添加图像视图(水印)。
问题是,我尝试编辑的照片有不同的尺寸(垂直、水平、大、小)。
这是我的:
<RelativeLayout
android:id="@+id/relativelayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:mobfox="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="64dp"
android:background="@color/colorPrimary"
android:minHeight="?attr/actionBarSize">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:id="@+id/tb_buy"
android:textSize="18sp"
android:textStyle="bold"
android:background="@null"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:textColor="@color/icons"
android:text="BUY PRO"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:id="@+id/tb_save"
android:textSize="18sp"
android:textStyle="bold"
android:background="@null"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:textColor="@color/icons"
android:text="SAVE"/>
</android.support.v7.widget.Toolbar>
<FrameLayout
android:id="@+id/framelayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/toolbar"
android:layout_above="@+id/banner">
<ImageView
android:id="@+id/iv_photo"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<!--<ImageView-->
<!--android:id="@+id/iv_watermark"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_gravity="bottom|right"-->
<!--android:alpha="0.7"-->
<!--android:src="@drawable/watermark"/>-->
</FrameLayout>
<com.mobfox.sdk.bannerads.Banner
android:layout_height="50dp"
android:layout_width="320dp"
android:id="@+id/banner"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true">
</com.mobfox.sdk.bannerads.Banner>
这会将水印图像视图放在 FrameLayout 的右下角。
在这种情况下,我希望它位于我正在编辑的图像视图的右下角。
P.S。我也尝试以编程方式添加它,我认为这是 'way to go' 方法,但我不知道所有功能以及可能的功能。
我试过
//#### WATERMARK ####
ImageView watermark = new ImageView(this);
watermark.setImageResource(R.drawable.watermark);
watermark.setBottom(editPhoto.getBottom());
watermark.setRight(editPhoto.getRight());
mLayout.addView(watermark);
但这不起作用。它只是在屏幕中央拉伸水印图像视图。
尝试使用 RelativeLayout 而不是 FrameLayout:
<RelativeLayout
android:id="@+id/rl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/toolbar"
android:layout_above="@+id/banner">
<ImageView
android:id="@+id/iv_photo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjsutViewBounds="true"/>
<ImageView
android:id="@+id/iv_watermark"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:alpha="0.7"
android:layout_alighRight="@id+/iv_photo"
android:layout_alighBottom="@id+/iv_photo"
android:src="@drawable/watermark"/>
</RelativeLayout>
您可以通过将 FrameLayout
替换为 RelativeLayout
来实现,父布局的 height
和 width
应该是 wrap_content
像这样:
<RelativeLayout
android:id="@+id/relativelayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:mobfox="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="64dp"
android:background="@color/colorPrimary"
android:minHeight="?attr/actionBarSize">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:id="@+id/tb_buy"
android:textSize="18sp"
android:textStyle="bold"
android:background="@null"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:textColor="@color/icons"
android:text="BUY PRO"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:id="@+id/tb_save"
android:textSize="18sp"
android:textStyle="bold"
android:background="@null"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:textColor="@color/icons"
android:text="SAVE"/>
</android.support.v7.widget.Toolbar>
<RelativeLayout
android:id="@+id/framelayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/toolbar"
android:layout_above="@+id/banner">
<ImageView
android:id="@+id/iv_photo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/iv_watermark"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alighRight="@id+/iv_photo"
android:layout_alighBottom="@id+/iv_photo"
android:alpha="0.7"
android:src="@drawable/watermark"/>
</RelativeLayout>
<com.mobfox.sdk.bannerads.Banner
android:layout_height="50dp"
android:layout_width="320dp"
android:id="@+id/banner"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true">
</com.mobfox.sdk.bannerads.Banner>
我无法在图像视图的右下角添加水印。
所以,我的想法是在另一个图像视图(我正在编辑的图像)的底部添加图像视图(水印)。
问题是,我尝试编辑的照片有不同的尺寸(垂直、水平、大、小)。
这是我的:
<RelativeLayout
android:id="@+id/relativelayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:mobfox="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="64dp"
android:background="@color/colorPrimary"
android:minHeight="?attr/actionBarSize">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:id="@+id/tb_buy"
android:textSize="18sp"
android:textStyle="bold"
android:background="@null"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:textColor="@color/icons"
android:text="BUY PRO"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:id="@+id/tb_save"
android:textSize="18sp"
android:textStyle="bold"
android:background="@null"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:textColor="@color/icons"
android:text="SAVE"/>
</android.support.v7.widget.Toolbar>
<FrameLayout
android:id="@+id/framelayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/toolbar"
android:layout_above="@+id/banner">
<ImageView
android:id="@+id/iv_photo"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<!--<ImageView-->
<!--android:id="@+id/iv_watermark"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_gravity="bottom|right"-->
<!--android:alpha="0.7"-->
<!--android:src="@drawable/watermark"/>-->
</FrameLayout>
<com.mobfox.sdk.bannerads.Banner
android:layout_height="50dp"
android:layout_width="320dp"
android:id="@+id/banner"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true">
</com.mobfox.sdk.bannerads.Banner>
这会将水印图像视图放在 FrameLayout 的右下角。
在这种情况下,我希望它位于我正在编辑的图像视图的右下角。
P.S。我也尝试以编程方式添加它,我认为这是 'way to go' 方法,但我不知道所有功能以及可能的功能。
我试过
//#### WATERMARK ####
ImageView watermark = new ImageView(this);
watermark.setImageResource(R.drawable.watermark);
watermark.setBottom(editPhoto.getBottom());
watermark.setRight(editPhoto.getRight());
mLayout.addView(watermark);
但这不起作用。它只是在屏幕中央拉伸水印图像视图。
尝试使用 RelativeLayout 而不是 FrameLayout:
<RelativeLayout
android:id="@+id/rl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/toolbar"
android:layout_above="@+id/banner">
<ImageView
android:id="@+id/iv_photo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjsutViewBounds="true"/>
<ImageView
android:id="@+id/iv_watermark"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:alpha="0.7"
android:layout_alighRight="@id+/iv_photo"
android:layout_alighBottom="@id+/iv_photo"
android:src="@drawable/watermark"/>
</RelativeLayout>
您可以通过将 FrameLayout
替换为 RelativeLayout
来实现,父布局的 height
和 width
应该是 wrap_content
像这样:
<RelativeLayout
android:id="@+id/relativelayout"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:mobfox="http://schemas.android.com/apk/res-auto">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="64dp"
android:background="@color/colorPrimary"
android:minHeight="?attr/actionBarSize">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:id="@+id/tb_buy"
android:textSize="18sp"
android:textStyle="bold"
android:background="@null"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:textColor="@color/icons"
android:text="BUY PRO"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:id="@+id/tb_save"
android:textSize="18sp"
android:textStyle="bold"
android:background="@null"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:textColor="@color/icons"
android:text="SAVE"/>
</android.support.v7.widget.Toolbar>
<RelativeLayout
android:id="@+id/framelayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/toolbar"
android:layout_above="@+id/banner">
<ImageView
android:id="@+id/iv_photo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ImageView
android:id="@+id/iv_watermark"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alighRight="@id+/iv_photo"
android:layout_alighBottom="@id+/iv_photo"
android:alpha="0.7"
android:src="@drawable/watermark"/>
</RelativeLayout>
<com.mobfox.sdk.bannerads.Banner
android:layout_height="50dp"
android:layout_width="320dp"
android:id="@+id/banner"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true">
</com.mobfox.sdk.bannerads.Banner>