【问题标题】:how can create multi-line selecteble text view in android如何在android中创建多行可选文本视图
【发布时间】:2021-12-10 15:54:57
【问题描述】:

如何在android中创建多行可选文本视图

*如何在android中创建这种类型的视图*

i want to this type output

我在这个屏幕上有 6 个视图,我想一次选择一个

我只想选择一个视图,所选视图更改文本颜色和背景

这是我的 xml

 <com.google.android.material.chip.ChipGroup
    android:id="@+id/radio1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginStart="16dp"
    android:layout_marginTop="16dp"
    android:layout_marginEnd="8dp"
    android:weightSum="3"
    android:orientation="horizontal"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/textView3">

    <com.google.android.material.chip.Chip
        android:id="@+id/paris"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/paris"
        android:textColor="#D8000000" />

    <com.google.android.material.chip.Chip
        android:id="@+id/newyork"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/new_york"
        android:textColor="#D8000000" />

    <com.google.android.material.chip.Chip
        android:id="@+id/shrilanka"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/shri_lanka"
        android:textColor="#D8000000" />


    <com.google.android.material.chip.Chip
        android:id="@+id/china"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/china"
        android:textColor="#D8000000" />

    <com.google.android.material.chip.Chip
        android:id="@+id/defaultimg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="@string/defaultImg"
        android:textColor="#D8000000" />

    <com.google.android.material.chip.Chip
        android:id="@+id/image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/image"
        android:textColor="#D8000000" />
</com.google.android.material.chip.ChipGroup>

【问题讨论】:

    标签: android material-design


    【解决方案1】:

    我找到了解决办法试试这个

    xml

    <LinearLayout
        android:id="@+id/radio1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="16dp"
        android:orientation="horizontal"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/textView3">
    
        <RadioButton
            android:id="@+id/paris"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/radiobg"
            android:button="@null"
            android:gravity="center"
            android:text="@string/paris"
            android:textColor="@drawable/txt_color" />
    
        <RadioButton
            android:id="@+id/newyork"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/radiobg"
            android:button="@null"
            android:gravity="center"
            android:text="@string/new_york"
            android:textColor="@drawable/txt_color" />
    
        <RadioButton
            android:id="@+id/shrilanka"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/radiobg"
            android:button="@null"
            android:gravity="center"
            android:text="@string/shri_lanka"
            android:textColor="@drawable/txt_color" />
    
    </LinearLayout>
    
    <LinearLayout
        android:id="@+id/radio2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_marginEnd="16dp"
        android:orientation="horizontal"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/radio1">
    
        <RadioButton
            android:id="@+id/china"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/radiobg"
            android:button="@null"
            android:gravity="center"
            android:text="@string/china"
            android:textColor="@drawable/txt_color" />
    
        <RadioButton
            android:id="@+id/defaultimg"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/radiobg"
            android:button="@null"
            android:gravity="center"
            android:text="@string/defaultImg"
            android:textColor="@drawable/txt_color" />
    
        <RadioButton
            android:id="@+id/image"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@drawable/radiobg"
            android:button="@null"
            android:gravity="center"
            android:text="@string/image"
            android:textColor="@drawable/txt_color" />
    
    </LinearLayout>
    

    科特林

     val clickListener: View.OnClickListener = View.OnClickListener { view ->
    
            when (view.id) {
                R.id.paris-> {
                    binding.shrilanka.isChecked = false
                    binding.newyork.isChecked = false
                    binding.china.isChecked = false
                    binding.defaultimg.isChecked = false
                    binding.image.isChecked = false
                }
                R.id.china-> {
                    binding.shrilanka.isChecked = false
                    binding.newyork.isChecked = false
                    binding.paris.isChecked = false
                    binding.defaultimg.isChecked = false
                    binding.image.isChecked = false
                }
                R.id.newyork-> {
                    binding.shrilanka.isChecked = false
                    binding.paris.isChecked = false
                    binding.china.isChecked = false
                    binding.defaultimg.isChecked = false
                    binding.image.isChecked = false
                }
                R.id.shrilanka-> {
                    binding.paris.isChecked = false
                    binding.newyork.isChecked = false
                    binding.china.isChecked = false
                    binding.defaultimg.isChecked = false
                    binding.image.isChecked = false
                }
                R.id.image-> {
                    binding.shrilanka.isChecked = false
                    binding.newyork.isChecked = false
                    binding.china.isChecked = false
                    binding.defaultimg.isChecked = false
                    binding.paris.isChecked = false
                }
               R.id.defaultimg-> {
                   binding.shrilanka.isChecked = false
                   binding.newyork.isChecked = false
                   binding.china.isChecked = false
                   binding.paris.isChecked = false
                   binding.image.isChecked = false
                }
            }
        }
        binding.paris.setOnClickListener(clickListener)
        binding.china.setOnClickListener(clickListener)
        binding.newyork.setOnClickListener(clickListener)
        binding.shrilanka.setOnClickListener(clickListener)
        binding.image.setOnClickListener(clickListener)
        binding.defaultimg.setOnClickListener(clickListener)
    

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    • 是的,我会改进我的问题
    猜你喜欢
    • 1970-01-01
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 2016-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    相关资源
    最近更新 更多