どのようにプログラム的にAndroidの切り替え/ LabeledSwitchの境界線の色を変更するには?

stramin:

私が使っているAndroidのトグルライブラリを、プログラム的LabeledSwitchを作成するには、Angadシンにより、すべての作品が、私は国境を色付けすることができないのです。

LabeledSwitch switch = new LabeledSwitch(context);
switch.setLayoutParams(lp);
switch.setColorDisabled(context.getResources().getColor(R.color.colorDisabled));
switch.setColorOn(context.getResources().getColor(R.color.colorPrimary));
switch.setLabelOn("Yep!");
switch.setLabelOff("Nope!");

XMLプロパティは、app:colorBorder私は、このプロパティを記述する場合、私はこのメッセージが表示されます:

ここでは、画像の説明を入力します。

「colorBorderは」「com.github.angads25.toogle.LabeledSwitch」内の専用アクセスを持っています

プログラム的LabeledSwitch境界線の色を変更する方法?(ないXML)

demodemo:
  val view = v.findViewById<LinearLayout>(R.id.container)

    val lp = LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)
    val switch1 = LabeledSwitch(activity)
    switch1.layoutParams = lp
    switch1.colorDisabled = ContextCompat.getColor(activity!!, R.color.colorAccent)
    switch1.colorOn = ContextCompat.getColor(activity!!, R.color.colorPrimary)
    switch1.labelOn = "Yep!"
    switch1.labelOff = "Nope!"
    switch1.colorBorder = ContextCompat.getColor(activity!!, android.R.color.black)
    view.addView(switch1)

まず、あなたは)(あなたの色のリソースを取得するためにContextCompatを使用する必要があるとresources.getColorを使用していません

再び、多分あなたはあなたの依存関係を更新する必要があり、より新しいバージョン1.1.0のために私のために動作するようです。

編集します

あなたがkotlinを使用している場合は、割り当てのcharを使用する必要が=カッコを使用して代わりに。あなたは、Javaを使用する場合は、使用する必要がありますsetColorBorder代わりに。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=21154&siteId=1