ColorPickerPreference颜色选择器

本文介绍了一个简单实用的颜色选择框架 ColorPickerPreference 的使用方法。该框架可在 Android 应用中轻松实现颜色选择功能,包括透明度调整及十六进制值显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ColorPickerPreference是一个非常简单的颜色选择框架,相比ColorPickerView下面还有一个透明度选择栏,使得颜色的设置更加丰富,下面是一个非常简单的小列子:

首先,下载Github上面的ColorPickerPreference框架:https://github.com/attenzione/android-ColorPickerPreference

新建一个工程添加ColorPickerPreference依赖,便可直接使用选择器;

MainActivity:

public class MainActivity extends AppCompatActivity implements ColorPickerDialog.OnColorChangedListener {


    private FrameLayout frameLayout;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        frameLayout = (FrameLayout) findViewById(R.id.frag);
    }

    public void btnClick(View view){
        /**
         * 第二个参数为打开颜色选择器时的初始颜色
         */
        ColorPickerDialog colorPickerDialog = new ColorPickerDialog(this,0xf00ff00);
        colorPickerDialog.setOnColorChangedListener(this);//调用颜色更改接口
        //是否显示透明度状态栏
        colorPickerDialog.setAlphaSliderVisible(true);
        //是否显示透明度的值
        colorPickerDialog.setHexValueEnabled(true);
       colorPickerDialog.show();
    }

    @Override
    public void onColorChanged(int color) {
        frameLayout.setBackgroundColor(color);
    }
}
Xml:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/frag"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.wls.colorpicker.MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="背景色"
        android:onClick="btnClick"
        android:layout_gravity="center"/>
</FrameLayout>
ColorPickerPreference中有两个属性:setAlphaSliderVisible和setHexValueEnabled分别表示是否显示透明度状态栏和透明度的值。

效果图:

   

功能很完善的颜色选择控件,不过,demo只是演示了如何在PreferenceActivity中ColorPickerPreference,其实完全可以在一般的布局中调用它的ColorPickerDialog类,这样适用范围更广一些。项目地址:https://github.com/attenzione/android-ColorPickerPreference 效果图:如何使用public class MainActivity extends Activity  implements ColorPickerDialog.OnColorChangedListener{ private Button chooseButton; private View preView;//预览视图 @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.setContentView(R.layout.main); preView = findViewById(R.id.preView); chooseButton = (Button) findViewById(R.id.chooseButton); chooseButton.setOnClickListener(new OnClickListener(){             @Override             public void onClick(View v){                 ColorPickerDialog mDialog = new ColorPickerDialog(MainActivity.this, 0xff333333);//弹出选择器对话框,并设置初始颜色                 mDialog.setOnColorChangedListener(MainActivity.this);  //设置监听器,监听颜色选择,需要实现onColorChanged方法                                                                                                                    mDialog.setAlphaSliderVisible(true);                 mDialog.setHexValueEnabled(true);                                                   mDialog.show();  //弹出选择器对话框                     }         }); } //实现ColorPickerDialog.OnColorChangedListener @Override public void onColorChanged(int color) { preView.setBackgroundColor(color); } }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值