0

私はアカウントの写真をナビゲーションヘッダーに入れました。境界線は長方形ですが、丸めたいのですが、どうすればいいですか? このコードでは、画像を表示するためにGlideを使用しました。Androidスタジオでは、どのように丸めたボーダーのGoogleアカウントの写真を変更できますか?

my_header_navigation.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="140dp" 
android:background="@color/common_google_signin_btn_text_dark_focused" 
android:id="@+id/navigation_header"> 

<ImageView 
    android:id="@+id/photoImageView" 
    android:layout_width="56dp" 
    android:layout_height="56dp" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginBottom="16dp" 
    android:layout_marginLeft="8dp" 
    android:layout_marginRight="8dp" 
    android:layout_marginStart="18dp" 
    android:background="@color/colorAccent" 
    android:visibility="invisible" /> 

</RelativeLayout> 

と主な活動で:

private ImageView photoImageView; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_list); 

    View hView = navigationView.getHeaderView(0); 
    photoImageView = hView.findViewById(R.id.photoImageView); 


    if(user != null){ 
     Glide.with(List.this).load(user.getPhotoUrl()).into(photoImageView); 

     photoImageView.setVisibility(View.VISIBLE); 
    } 
    else{ 

     photoImageView.setVisibility(View.INVISIBLE); 

    } 

答えて

0

右i'tsあなたのコードは、あなたがCircleImageViewを実装する必要がある、私が実装する方法を示しています。

CircleImageView - GitHub

nav_header_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/nav_header_height" 
    android:background="@drawable/side_nav_bar" 
    android:gravity="bottom" 
    android:orientation="vertical" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark"> 

    <com.mikhaellopez.circularimageview.CircularImageView 
      android:id="@+id/profile_image" 
      android:layout_width="150dp" 
      android:layout_height="150dp" 
      android:src="@drawable/profile_image" 
      android:layout_gravity="center_horizontal" 
      android:layout_marginTop="20dp" 
      android:layout_marginBottom="0dp" 
      app:civ_border_color="#EEEEEE" 
      app:civ_border_width="4dp" 
      app:civ_shadow="true" 
      app:civ_shadow_radius="10" 
      app:civ_shadow_color="#8BC34A"/> 

</LinearLayout> 

MainActivity

@Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

      CircleImageView circleImageView = (CircleImageView) findViewById(R.id.profile_image); 
      Glide.with(List.this).load(user.getPhotoUrl()).into(circleImageView); 
    } 
CircleImageView

Link Image

NOTE と0

マイNavigationDrawerあなたのイメージは比例寸法の、たとえば(100×100、200×200)が必要です、覚えているが、完全な方形のように、私はあなたが助けを持っていることを望みます。

+0

ありがとう、私の作品です! これは以下の課題がなければ、なぜわかりません。 'アプリ:civ_border_color = "#1 EEEEEE" アプリ:civ_border_width = "4DP" アプリ:civ_shadow = "true" を アプリ:civ_shadow_radius = "10" アプリ:アプリを宣言する必要 –

+0

civ_shadow_color = "#1 8BC34A"'外部LinearLayoutまたはRelativeLayoutの変数です。デザインの設計に依存します。私は自分の答えを編集し、今すぐチェックしてください。 –

関連する問題