0

嗨,我不确定为什么这不起作用,也不确定这是否可能,但这是我想要做的。我有一个 SimpleDraweeView,它包含在 collapsingtoolbarlayout 中,我正在尝试将图像加载到其中。

 <android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/toolbar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:titleEnabled="false"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <com.facebook.drawee.view.SimpleDraweeView
            android:id="@+id/cover_image"
            android:layout_width="match_parent"
            app:layout_collapseMode="parallax"
            android:layout_height="300dp"
            fresco:placeholderImageScaleType="centerCrop"
            android:fitsSystemWindows="true"/>
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="300dp"
            android:background="#55000000"/>
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            app:layout_scrollFlags="scroll"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            app:popupTheme="@style/AppTheme.PopupOverlay"/>

    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>

我正在尝试像这样在我的 onCreate 方法中设置图像。

    //gallery is my object which contains coverImage field
    Uri coverImageUri = Uri.parse(gallery.getCoverImage());
    SimpleDraweeView coverImageView = (SimpleDraweeView)findViewById(R.id.gallery_cover_image);
    Toast.makeText(this,gallery.getCoverImage(),Toast.LENGTH_SHORT).show();
    coverImageView.setImageURI(coverImageUri);

我可以在 toast 中看到 url,但图像似乎没有出现。任何指针表示赞赏。谢谢。

4

1 回答 1

0

我试过你的代码,一切正常。你xml没问题,你的java代码是正确的,所以我猜你的问题很简单。我想你忘了添加互联网权限,因为那是唯一没有为我显示图像的情况,只需添加<uses-permission android:name="android.permission.INTERNET"/>你的manifest.xml,你就会被设置。

我还看到你有一个placeHolderScaleType而不是一个占位符,所以如果你在线加载图像,添加它是一个好习惯。

感谢您的阴影View,它实际上给了我一些我想做的事情的暗示,并且正在考虑如何去做。

于 2016-02-14T15:59:00.297 回答