ナビゲーション・ビューを作成するためにカスタム・ライブラリーを使用していません。サポートデザインライブラリからナビゲーションビューを使用しています。 GlideまたはFrescoを使用して、ヘッダーイメージをインターネットからカスタムイメージに設定するにはどうすればよいでしょうか。現在、私はDrawer Headerとして静的なImageViewを持っています。ナビゲーション・ドロワー・ヘッダーの画像をカスタムURLからロード
EDIT - 画像はどのサイズである必要がありますか?
ナビゲーション・ビューを作成するためにカスタム・ライブラリーを使用していません。サポートデザインライブラリからナビゲーションビューを使用しています。 GlideまたはFrescoを使用して、ヘッダーイメージをインターネットからカスタムイメージに設定するにはどうすればよいでしょうか。現在、私はDrawer Headerとして静的なImageViewを持っています。ナビゲーション・ドロワー・ヘッダーの画像をカスタムURLからロード
EDIT - 画像はどのサイズである必要がありますか?
あなたはNavigation Header
のためにあなたのXML file
でこれを設定することができます。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/colorPrimaryDark"
android:gravity="center_vertical"
android:orientation="vertical"
android:paddingBottom="@dimen/nav_header_margin_bottom"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/nav_header_margin_top"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitXY"/>
</LinearLayout>
そして、あなたのMainActivity
内のURLに画像を設定するGlide
を使用します。if Iドン」、私の場合は
private NavigationView navigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
//NavigationHeader
View header = navigationView.getHeaderView(0);
imageView = (ImageView) header.findViewById(R.id.imageView);
Glide
.with(context)
.load("your url")
.placeholder(R.drawable.priceshoes)
.error(R.drawable.priceshoes)
.into(imageView);
}
をこれらの行を使用してください:
View header = navigationView.getHeaderView(0);
imageView = (ImageView) header.findViewById(R.id.imageView);
私はsetContentView()メソッドでactivity_mainを呼び出し、プロファイル画像のImageViewは別のxmlのヘッダーレイアウトにあるため、「Target is not null」と表示されます。