kotlin android微调文本颜色

问题描述 投票:1回答:2

我创建了一个微调器,但我想更改文本颜色和字体大小。 Java中有很多关于Web的教程。我很难将Java翻译成Kotlin因为我是新手。请帮助找到解决方案。

enter image description here

SpinnerActivity.kt

class SpinnerActivity : AppCompatActivity() {

    lateinit var option : Spinner
    lateinit var result :TextView

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_spinner)

        option = findViewById(R.id.sp_option) as Spinner
        result = findViewById(R.id.tv_result) as TextView

        val options = arrayOf("111", "222", "333")

        option.adapter = ArrayAdapter<String>(this,R.layout.spinner_layout,options)


        option.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
            override fun onNothingSelected(parent: AdapterView<*>?) {
                //TODO("not implemented") //To change body of created functions use File | Settings | File Templates.

                result.text = "please select an option"
            }

            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
                //TODO("not implemented") //To change body of created functions use File | Settings | File Templates.

                result.text = options.get(position)
            }
        }

activity_spinner.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".SpinnerActivity">

    <Spinner
        android:id="@+id/sp_option"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        android:popupTheme="@android:style/ThemeOverlay.Material.Light"
        />

    <TextView
        android:id="@+id/tv_result"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"/>

</LinearLayout>

spinner_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent" android:layout_height="match_parent">


    <TextView
        android:id="@+id/custom_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/colorAccent"
        />
</RelativeLayout>
android text kotlin spinner
2个回答
4
投票

为您所需的textview创建一个xml,如下所示。

<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:textColor="@android:color/holo_red_dark"
    android:textSize="24sp" />

将其命名为item.xml并在活动类中更改以下内容。

option.adapter = ArrayAdapter<String>(this, R.layout.item, options)

而已!!!


0
投票

使用TextView作为父视图创建布局,设置首选文本颜色和大小,并在此处添加布局资源ID。

option.adapter = ArrayAdapter<String>
(this,layoutResourceId,options) 
© www.soinside.com 2019 - 2024. All rights reserved.