我不知道 kotlin,我已经在 java 中转换了 kotlin 代码并粘贴了该代码,但是读取该字节码时有很多困惑。任何人都可以帮助我,请转换此代码。
package com.bendaschel.sevensegmentview.example
import android.graphics.Color
import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.widget.LinearLayout
import com.bendaschel.example.R
import com.bendaschel.sevensegmentview.SevenSegmentView
class MainActivity : AppCompatActivity() {
private lateinit var sv: SevenSegmentView
private lateinit var colorPicker: LinearLayout
private val colors = listOf<Int>(Color.GREEN, Color.BLUE, Color.RED, Color.MAGENTA, Color.YELLOW)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
sv = findViewById(R.id.display) as SevenSegmentView
sv.setOnClickListener {
val next = (sv.currentValue + 1) % 10
sv.currentValue = next
}
colorPicker = findViewById(R.id.color_picker) as LinearLayout
colors.forEach { color ->
val button = layoutInflater.inflate(R.layout.color_picker_item, colorPicker, false)
button.setOnClickListener {
sv.onColor = color
sv.offColor = Color.argb(50, Color.red(color), Color.green(color), Color.blue(color))
}
button.setBackgroundColor(color)
colorPicker.addView(button)
}
}
}
最佳答案
我已经编写了基本代码,接下来就看你如何提升了。 在这里你必须实现你的 onclick 监听器和 for 循环
public class temp extends AppCompatActivity {
SevenSegmentView sv;
LinearLayout colorPicker;
Integer[] colors ={Color.GREEN, Color.BLUE, Color.RED, Color.MAGENTA, Color.YELLOW};
);
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sv = (SevenSegmentView) findViewById(R.id.display);
colorPicker = (LinearLayout)findViewById(R.id.color_picker);
sv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int next = (sv.currentValue + 1) % 10;
sv.currentValue = next;
}
});
for (Integer color: colors) {
Button button = getLayoutInflater().inflate(R.layout.color_picker_item, colorPicker, false);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
sv.onColor = color;
sv.offColor = Color.argb(50, Color.red(color), Color.green(color), Color.blue(color));
}
});
button.setBackgroundColor(color);
colorPicker.addView(button);
}
}
关于java - 如何将kotlin代码转换为android的java格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59104260/