안 드 로 이 드 에 서 는 CircleImageView 와 Cardview 를 이용 해 원형 얼굴 을 만 드 는 방법

둥 근 두상 은 우리 가 일상적으로 사용 하 는 앱 에서 흔히 볼 수 있 는데 둥 근 두상 이 비교적 아름 답 기 때문이다.
원형 그림 을 사용 하 는 방법 은 우리 가 직접 그림 을 원형 으로 자 르 고 app 에서 사용 할 수 있 습 니 다.또한 사용자 정의 View 를 사용 하여 우리 가 설정 한 모든 그림 을 자동 으로 원형 으로 자 를 수 있 습 니 다.
효과 그림:

여 기 는 github 에서 Circle ImageView 를 사용 합 니 다.
github: https://github.com/hdodenhof/CircleImageView
CardView 는 말 그대로 카드 식 View,CardView 는 FrameLayout 를 계승 하기 때문에 내부 컨트롤 을 놓 을 때 주의해 야 합 니 다.
그림자,원 각 등 을 설정 할 수 있 습 니 다.
이곳 의 Circle ImageView 는 얼굴 에 테 두 리 를 그 릴 수도 있다.
Navigation Drawer Activity 를 선택 하면 초기 레이아웃 이 자동 으로 생 성 됩 니 다.
nav 수정header_main,원 각 프로필 사진 추가

<?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="@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">
<de.hdodenhof.circleimageview.CircleImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/profile_image"
android:layout_width="96dp"
android:layout_height="96dp"
android:src="@drawable/darth_vader"
app:civ_border_width="2dp"
/>
</LinearLayout> 
콘 텐 츠 수정main,RecyclerView 추가,가이드 백 기억

<?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"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.example.xw.design2.MainActivity"
tools:showIn="@layout/app_bar_main">
<android.support.v7.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>
</RelativeLayout>
아 이 템 레이아웃 추가,CardView,가이드 백 기억

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
android:layout_height="wrap_content"
android:layout_width="match_parent"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
card_view:contentPadding="10dp"
card_view:cardBackgroundColor="#303069"
card_view:cardCornerRadius="10dp"
card_view:cardPreventCornerOverlap="true"
card_view:cardUseCompatPadding="true"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/tv"
android:textColor="#fff"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</android.support.v7.widget.CardView> 
다음은 MainActivity 에 코드 를 추가 하고 CardView 를 사용 합 니 다.
1.구성원 변수 와 데이터 원본 추가

private RecyclerView mRecyclerView;
private String[] data={"2014  ,   Google            Material Design,       Android     v7,       Material Design         Card         ―― CardView。"
,"                Android              ,             ,                                             。"
,"Google   Android Lollipop      Material Design       (Elevation)  Z    ,                     "
,"    ,       -                 -       。    ,                ?"};
2.뷰 홀더 만 들 기

class MyHolder extends RecyclerView.ViewHolder{
private TextView mTextView;
public MyHolder(View itemView) {
super(itemView);
mTextView= (TextView) itemView.findViewById(R.id.tv);
}
}
3.어댑터 만 들 기

class MyAdapter extends RecyclerView.Adapter<MyHolder>{
@Override
public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) {
LayoutInflater layoutInflater=LayoutInflater.from(getApplicationContext());
View v=layoutInflater.inflate(R.layout.item,parent,false);
MyHolder holder=new MyHolder(v);
return holder;
}
@Override
public void onBindViewHolder(MyHolder holder, int position) {
holder.mTextView.setText(data[position]);
}
@Override
public int getItemCount() {
return data.length;
}
}
4.oncreate()방법 에 Adapter 설정

mRecyclerView= (RecyclerView) findViewById(R.id.rv);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
mRecyclerView.setAdapter(new MyAdapter());
위 와 같이 소 편 이 소개 한 안 드 로 이 드 에 서 는 CircleImageView 와 Cardview 를 이용 해 원형 얼굴 을 만 드 는 방법 입 니 다.도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 이 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기