استفاده از color picker با کتابخانه های github در اندروید

در این مقاله قصد داریم با استفاده از کتابخانه AmbilWarna یک color picker ایجاد نماییم که مانند color که در فتوشاپ و یا نرم افزار های دیگر قرار دارد شما می توانید با استفاده از آن رنگ پس زمینه خود را تغییر دهید.

استفاده از color picker با کتابخانه های github در اندروید

ابتدا فایل gradle خود را باز نمایید:

جهت یادگیری گیت میتوانید آموزش git از صفر را در سایت تاپ لرن مشاهده کنید .

داخل dependencies قطعه کد زیر را بنویسید:

داخل کلاس هم باید از کتابخانه و event های آن استفاده نمایید:

import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.Toast;

import yuku.ambilwarna.AmbilWarnaDialog;

public class MainActivity extends AppCompatActivity {

    Button button;
    RelativeLayout relativeLayout;
    int DefaultColor ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        relativeLayout = (RelativeLayout) findViewById(R.id.activity_main);

        button = (Button) findViewById(R.id.button);

        DefaultColor = ContextCompat.getColor(MainActivity.this, R.color.colorPrimary);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                OpenColorPickerDialog(false);

            }
        });
    }

    private void OpenColorPickerDialog(boolean AlphaSupport) {

        AmbilWarnaDialog ambilWarnaDialog = new AmbilWarnaDialog(MainActivity.this, DefaultColor, AlphaSupport, new AmbilWarnaDialog.OnAmbilWarnaListener() {
            @Override
            public void onOk(AmbilWarnaDialog ambilWarnaDialog, int color) {

                DefaultColor = color;

                relativeLayout.setBackgroundColor(color);
            }

            @Override
            public void onCancel(AmbilWarnaDialog ambilWarnaDialog) {

                Toast.makeText(MainActivity.this, "Color Picker Closed", Toast.LENGTH_SHORT).show();
            }
        });
        ambilWarnaDialog.show();

    }

    }

که در کلاس بالا با استفاده از کتابخانه می توانید رنگ مورد نظر را در پس زمینه صفحه تغییر دهید و یا اینکه آن را کنسل نمایید.

در لایه ی activity هم قطعه کد زیر را بنویسید:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    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"
    tools:context="com.android_examples.colorpicker_android_examplescom.MainActivity">

    <Button
        android:text="open Color Picker Dialog"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:id="@+id/button" />

</RelativeLayout>

خروجی به صورت زیر خواهد بود:

فایل های ضمیمه