2016-09-07 113 views
0

我沒有使用任何自定義庫來創建導航視圖。我正在使用支持設計庫中的導航視圖。我如何能夠使用Glide或Fresco將標題圖像設置爲來自互聯網的自定義圖像。目前我有一個靜態的ImageView作爲抽屜頭。從自定義URL導航抽屜標題中加載圖像

編輯 - 圖像需要是什麼尺寸?

回答

2

您可以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> 

並使用Glide設置一個網址的圖片在你MainActivity

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); 
    } 
1

就我而言,如果我不」 t使用這些行:

View header = navigationView.getHeaderView(0); 
    imageView = (ImageView) header.findViewById(R.id.imageView); 

我會得到錯誤「Target must not null」,因爲在我的setContentView()方法中,我調用activity_main,並且配置文件圖片的ImageView位於單獨的xml中的頁眉佈局中。