自定义ImageView中setMeasuredDimension之后的奇怪黑色背景

时间:2016-02-25 14:32:55

标签: android imageview android-imageview android-custom-view custom-view

我有一个允许CircularImageView的库,但我遇到了一个无法修复的问题。

我以这种方式在我的布局中添加它:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:gravity="center"
        android:orientation="vertical">

    <com.mikhaellopez.circularimageview.CircularImageView
        android:id="@+id/circularImageView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/test"
        app:civ_border="true"
        app:civ_border_color="#3f51b5"
        app:civ_border_width="8dp"
        app:civ_shadow="true"
        app:civ_shadow_color="#3f51b5"
        app:civ_shadow_radius="10" />

</LinearLayout>

<LinearLayout
    android:layout_width="240dp"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="vertical">

    <SeekBar-
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <!-- ... -->

</LinearLayout>

在某些图片上,我在视图中显示黑色背景(在PNG图像上,但ic_launcher例如效果很好):

First

我可以在更改onMesure方法时解决问题。

在:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int width = measureWidth(widthMeasureSpec);
    int height = measureHeight(heightMeasureSpec);
    int imageSize = (width < height) ? width : height;
    setMeasuredDimension(imageSize, imageSize);
}

后:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int width = measureWidth(widthMeasureSpec);
    int height = measureHeight(heightMeasureSpec);
    /*int imageSize = (width < height) ? width : height;
    setMeasuredDimension(imageSize, imageSize);*/
    setMeasuredDimension(width, height);
}

但是通过这次修改,我的观点并未集中:

second

有人可以帮助我修复黑色背景或找到一种新的方式来固定我的观点吗?

0 个答案:

没有答案