티스토리 뷰







이 라이브러리는

  • 고객의 서명을 받아서 비트맵으로 가져와 서버에 전송하는 역할을 하기위한 과정중에 서명을 비트맵으로 가져오는 역할을 한다.
  • 서명한 이미지만이 아니라 약정내역등과같은 글자도 같이 비트맵으로 만든다
  • 해당 소스와 샘플은 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비트맵 두개를 합쳐서 새로운 비트맵을 만들어 사용한다.



공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크