在Android Studio中,如何更改带有圆角边框的Google帐户的照片?
问题描述:
我把帐户的照片放在导航标题中。边框是矩形的,我想把它做成圆形,我该怎么做? 在这段代码中,我使用Glide来显示图像。在Android Studio中,如何更改带有圆角边框的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);
}
答
您的代码i'ts正确的,你需要实现CircleImageView,我告诉你如何实现。
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);
}
我NavigationDrawer与CircleImageView
注意 记住,你的图片都需要按比例尺寸的,例如(100×100,200×200),就像一个完美的正方形,我希望我中有你的帮助。
谢谢你的家伙,它适合我! 但是,如果没有这下面的任务,我不知道为什么。 '应用:civ_border_color = “#EEEEEE” 应用:civ_border_width = “4DP” 应用:civ_shadow = “真” 应用:civ_shadow_radius = “10” 应用:civ_shadow_color = “#8BC34A”' –
你需要申报程序外部LinearLayout或RelativeLayout中的变量是您设计的依赖关系,我将编辑我的答案,现在检查它,如果可以,请投票+1我的答案,问候 –