在imageview中剪切图像

时间:2017-11-10 05:53:22

标签: android android-layout android-imageview

我有一个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>

This is the image without any margin

但是,如果我添加边距而不是剪裁图像像下面那样拉伸

enter image description here

无论如何使用xml将我的六边形剪成一半而不使用自定义布局?

2 个答案:

答案 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>