티스토리 뷰
이 라이브러리는
- 고객의 서명을 받아서 비트맵으로 가져와 서버에 전송하는 역할을 하기위한 과정중에 서명을 비트맵으로 가져오는 역할을 한다.
- 서명한 이미지만이 아니라 약정내역등과같은 글자도 같이 비트맵으로 만든다
- 해당 소스와 샘플은 https://github.com/karrel84/RellSignView에 있다
환경설정
JITPACK을 통해 이용할 수 있으며 JITPACK을 이용하기 위해
프로젝트 build.gradle에서 아래와같이 저장소의 주소를 추가해주어야한다.
기본적으로 프로젝트를 생성할때는 jcenter()가 적혀있다.
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
그리고 app.gradle의 dependencies 안에다가 아래와같이 그래들의 주소를 넣어주면 된다.
dependencies {
compile 'com.github.karrel84:RellSignView:0.0.1'
}
사용법
<?xml version="1.0" encoding="utf-8"?>
<layout 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.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.karrel.rellsignview.MainActivity">
<com.karrel.signviewlib.SignView
android:id="@+id/signView"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@+id/makeBitmap"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<android.support.constraint.ConstraintLayout
android:id="@+id/constraintLayout"
android:layout_width="0dp"
android:layout_height="0dp"
android:padding="8dp"
app:layout_constraintBottom_toTopOf="@+id/makeBitmap"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="0dp"
android:layout_height="0dp"
android:text="@string/_1_1"
android:textColor="#000"
android:textSize="14dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="48dp"
android:layout_marginRight="64dp"
android:text="서명자 : 김커피"
android:textColor="#000"
android:textSize="14dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent" />
</android.support.constraint.ConstraintLayout>
<Button
android:id="@+id/makeBitmap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="파일 만들기"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent" />
<ImageView
android:id="@+id/imageView"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
</layout>
△ com.karrel.signviewlib.SignView 의 커스텀뷰를 만들고
그 위로 이용약관등과 서명자를 표기하는 레이아웃을 얹는다.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);
mBinding.makeBitmap.setOnClickListener(onMakeBitmapListener);
}
private View.OnClickListener onMakeBitmapListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
Bitmap bitmap1 = mBinding.signView.getBitmap();
Bitmap bitmap2 = SignViewUtil.loadBitmapFromView(mBinding.constraintLayout);
Bitmap overlay = SignViewUtil.overlay(bitmap1, bitmap2);
mBinding.imageView.setImageBitmap(overlay);
}
};
△ 이미지를 사인이미지를 만들어야하는 시점에 SignView로 부터 비트맵을 A를 가져오고, 서명과 약관등의 문구가 적힌 레이아웃을 비트맵 B로 만든 후 A, B비트맵 두개를 합쳐서 새로운 비트맵을 만들어 사용한다.
'개발 > ANDROID' 카테고리의 다른 글
[안드로이드] swipe to remove item on recyclerview (7) | 2017.07.28 |
---|---|
[안드로이드 스튜디오 설정] 클래스 생성시 주석 넣기 (0) | 2017.07.28 |
[안드로이드] custom TimePickerDialog (0) | 2017.07.24 |
[안드로이드] custom DatePickerDialog (0) | 2017.07.24 |
[GITHUB] JITPACK에 안드로이드 라이브러리 배포하기 (2) | 2017.05.20 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크