アンドロイドカラーピッカーフレームワーク
最初にテストするために、新しいプロジェクトまたは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ポイントを設定できるようになりました。または、非常にユーザーフレンドリーです)。次のように:
ソースコードアドレスは次のとおりです