2016-09-07 8 views
0

탐색보기를 만들기 위해 사용자 지정 라이브러리를 사용하지 않습니다. 지원 디자인 라이브러리에서 탐색보기를 사용하고 있습니다. Glide 또는 Fresco를 사용하여 인터넷에서 헤더 이미지를 사용자 정의 이미지로 설정하는 방법은 무엇입니까? 현재 Drawer Header로 정적 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> 

을 그리고있는 URL을 사용하여 이미지를 설정하는 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

, 내가 '돈 경우 다음 줄을 사용하십시오.

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

setContentView() 메서드에서 activity_main을 호출하고 프로필 그림의 ImageView가 별도의 xml 헤더 레이아웃에 있기 때문에 "대상이 null이 아니어야합니다."라는 오류가 발생합니다.