我有一个imageview,我需要在该imageview中剪切图像的一半
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="true"
android:clipChildren="true">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="80dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="200dp"
android:background="@drawable/hexagon_1"/>
</RelativeLayout>
但是,如果我添加边距而不是剪裁图像像下面那样拉伸
无论如何使用xml将我的六边形剪成一半而不使用自定义布局?
答案 0 :(得分:1)
你应该添加
android:scaleType="fitXY"
android:adjustViewBounds="true"
android:src="@drawable/hexagon_1"
使用 android:src
代替 android:background
。
有关详细信息,请阅读ClipDrawable
。
对于剪辑图像,您应该创建自定义剪辑drawable。
<?xml version="1.0" encoding="utf-8"?>
<clip xmlns:android="http://schemas.android.com/apk/res/android"
android:clipOrientation="vertical"
android:drawable="@drawable/your_drawable"
android:gravity="top" />
礼貌归ClipDrawable
。
答案 1 :(得分:0)
[未经测试,但指导明确]
PercentRelativeLayout
可能会解决您的问题。 Read more here
<android.support.percent.PercentRelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
app:layout_marginTopPercent="25%"
app:layout_marginLeftPercent="25%"/>
</android.support.percent.PercentRelativeLayout>