我在向imageview右下方添加水印时遇到问题。
所以,想法是在另一个图像视图的底部添加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的右下角。
在这种情况下,我想在我正在编辑的imageview的右下角。
P.S。我也尝试以编程方式添加它,我认为这是“走的路”,但我不知道所有功能和可能性。
我试过像
这样的东西 //#### WATERMARK ####
ImageView watermark = new ImageView(this);
watermark.setImageResource(R.drawable.watermark);
watermark.setBottom(editPhoto.getBottom());
watermark.setRight(editPhoto.getRight());
mLayout.addView(watermark);
但这不起作用。它只是在屏幕中央拉伸水印图像视图。
答案 0 :(得分:1)
您可以通过将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>
答案 1 :(得分:0)
而不是FrameLayout尝试使用RelativeLayout,如:
<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>