当前位置: 首页 > article >正文

Kotlin语言实现单击任意TextVIew切换一个新页面,并且实现颜色变换

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent">

    <!-- 这里放置你的其他视图组件 -->
    <RadioGroup
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    >
    <RadioButton
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:button="@null"
        android:textColor="@color/color"
        android:checked="true"
        android:layout_marginHorizontal="20dp"
        android:layout_height="wrap_content"
        android:text="First TextView"
        android:clickable="true" />

    <RadioButton
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_marginHorizontal="20dp"
        android:button="@null"
        android:layout_height="wrap_content"
        android:text="Second TextView"
        android:textColor="@color/color"
        android:clickable="true"
        android:layout_below="@id/textView1" />

    <!-- 更多的 TextView 组件 -->
</RadioGroup>


    <FrameLayout
        android:id="@+id/container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/textView2" />

</LinearLayout>

创建一个新包 color

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/purple_700" android:state_checked="true"/>
    <item android:color="@color/black" android:state_checked="false"/>
</selector>

功能页

class MainActivity2 : AppCompatActivity() {
    private lateinit var fragmentManager: FragmentManager
    private val binding by lazy {
        ActivityMain2Binding.inflate(layoutInflater)
    }
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(binding.root)
        fragmentManager = supportFragmentManager

        binding.textView1.setOnClickListener {
            replaceFragment(HomeFragment())
        }

        binding.textView2.setOnClickListener {
            replaceFragment(SecondFragment())
        }
    }
    private fun replaceFragment(fragment: Fragment) {
        val transaction: FragmentTransaction = fragmentManager.beginTransaction()
        transaction.replace(R.id.container, fragment)
        transaction.addToBackStack(null)
        transaction.commit()
    }
}

http://www.kler.cn/a/132950.html

相关文章:

  • 大数据-226 离线数仓 - Flume 优化配置 自定义拦截器 拦截原理 了 拦截器实现 Java
  • Android Mobile Network Settings | APN 菜单加载异常
  • c# Encoding.GetEncoding
  • Swift的可选绑定(Optional binding)
  • 容器内的Jenkins使用docker部署服务,服务数据文件挂载问题
  • HarmonyOS 开发环境搭建
  • 计算Qt中的QAudioOutput缓冲区未播放的音频字节数对应时长
  • centos 6.10 安装 perl 5.14
  • 设计测试用例的6种基本原则
  • MATLAB基础应用精讲-【数模应用】神经网络
  • Kafka、RocketMQ、RabbitMQ的比较总结Kafka、RocketMQ、RabbitMQ的比较总结
  • 一起Talk Android吧(第五百五十三回:解析Retrofit返回的数据)
  • 浅尝:iOS的CoreGraphics和Flutter的Canvas
  • HarmonyOS开发Java与ArkTS如何抉择
  • 【数据预处理2】数据预处理——数据标准化
  • C# using语句使用介绍
  • 【音视频基础】AVI文件格式
  • 反转链表,剑指offer,力扣
  • 无线WiFi安全渗透与攻防(六)之WEP破解-Gerix-wifi-cracker自动化破解WEP加密
  • 组合模式 rust和java的实现
  • 【机器学习9】前馈神经网络
  • 利用 Pandoc + ChatGPT 优雅地润色论文,并保持 Word 公式格式:Pandoc将Word和LaTeX文件互相转化
  • 开源情报 (OSINT)
  • 2023年中职“网络安全“—Web 渗透测试②
  • 100张照片带你了解真实的日本人
  • 2023全新付费进群系统源码 带定位完整版 附教程