Androidは、数行の簡単なコードでカラーセレクターにコンポーネントの色を変更させることができるので、スキニング機能を簡単に実現できますか?

アンドロイドカラーピッカーフレームワーク


最初にテストするために、新しいプロジェクトまたはMoudleを作成することをお勧めします。

序文

正直、最初はこのフレームワークの使い方がわからなかったのですが、作者のソースコードをダウンロードして見たところ、使い方がわかりました。ナンセンスな話はせず、トピックに進んで効果を見てみましょう。
ここに写真の説明を挿入

ステップ1:依存関係をインポートする

ソースコードと関数の実装方法を知りたい場合は、ソースアドレスにアクセスできます
インポートの依存関係は次のとおりです。

implementation'com.github.kizitonwose.colorpreference:core:1.1.0'

ステップ2:メインコード

デモンストレーションの便宜上、コードは簡略化されており、コードは次のとおりです。

まず、図に示すように、ColorDialog.OnColorSelectedListenerメソッドを継承
ここに写真の説明を挿入
します。コードは次のとおりです。

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import androidx.appcompat.app.AppCompatActivity;

import com.kizitonwose.colorpreference.ColorDialog;
import com.kizitonwose.colorpreference.ColorShape;

public class MainActivity extends AppCompatActivity implements ColorDialog.OnColorSelectedListener {
    
    
    private Button button;
    @SuppressLint("ResourceType")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button=findViewById(R.id.button);
    }

    public void colorShare(View view){
    
    
        new ColorDialog.Builder(this)
                .setColorShape(ColorShape.SQUARE) //SQUARE 正方形  CIRCLE圆形
                .setColorChoices(R.array.color_choices) //自定义颜色
                .setNumColumns(5)       //设置每行颜色选择的个数
                .setTag("TAG")        //与下方的onColorSelected方法想呼应
                .show();
    }

    @Override
    public void onColorSelected(int newColor, String tag) {
    
    
        if(tag=="TAG"){
    
    
            button.setBackgroundColor(newColor);
        }
    }
}

メインコードは上記のとおりで、色選択タイプは以下に添付されています。

<string-array name="color_choices">
        <item>#f44336</item>
        <item>#e91e63</item>
        <item>#9c27b0</item>
        <item>#673ab7</item>
        <item>#3f51b5</item>
        <item>#2196f3</item>
        <item>#03a9f4</item>
        <item>#00bcd4</item>
        <item>#009688</item>
        <item>#4caf50</item>
        <item>#8bc34a</item>
        <item>#cddc39</item>
        <item>#ffeb3b</item>
        <item>#ffc107</item>
        <item>#ff9800</item>
        <item>#ff5722</item>
        <item>#795548</item>
        <item>#9e9e9e</item>
        <item>#607d8b</item>
    </string-array>

配置:
ここに写真の説明を挿入
最後に、簡単な効果を見てみましょう。
ここに写真の説明を挿入
他にわからないことがある場合は、ソースコードを確認して自分でダウンロードし、0ポイントに設定できます(CSDNは自動拡張なしで0ポイントを設定できるようになりました。または、非常にユーザーフレンドリーです)。次のように:
ソースコードアドレスは次のとおりです

おすすめ

転載: blog.csdn.net/qq_45137584/article/details/111294998