Kotlin的Fragment及item的页面

本文介绍了两个Fragment中展示的内容,一个是电影新片上线的RecyclerView,包含影视名称和在线观看按钮;另一个是放映厅与活动信息,包括XBanner轮播图、正在上映和精彩演出的RecyclerView。还展示了电影详情和购票操作的界面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context=".view.fragment.FytFragment"
    android:orientation="vertical">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="新片上线"
        android:textSize="20sp"
        android:layout_margin="10dp"
        />
    <androidx.recyclerview.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/recyclerView_jzvd"
        />

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

    <com.stx.xhb.androidx.XBanner
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:id="@+id/xBanner_TJ"

        />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="正在上映"
        android:textSize="20sp"
        android:layout_margin="10dp"
        />
    <androidx.recyclerview.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/recyclerView_ZZSY"
        />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="精彩演出"
        android:textSize="20sp"
        android:layout_margin="10dp"
        />
    <androidx.recyclerview.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/recyclerView_JCYC"
        />

</LinearLayout>
item
  放映厅item
  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical">

    <com.facebook.drawee.view.SimpleDraweeView
        android:layout_width="match_parent"
        android:layout_height="300dp"
        app:placeholderImage="@mipmap/ic_launcher"
        app:failureImage="@mipmap/ic_launcher"
        android:id="@+id/simpler_fyt"
        />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >
        <LinearLayout
            android:layout_width="0dp"
            android:layout_weight="3"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            >
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="影视名称"
                android:id="@+id/textView_Name_Fyt"
                android:gravity="center"
                />
            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="评分"
                android:id="@+id/textView_Pf_Fyt"
                android:gravity="center"
                android:textColor="#F8A706"
                />
        </LinearLayout>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="在线看"
            android:id="@+id/button_ZXK"
            />
    </LinearLayout>


</LinearLayout>

正在上映item

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:gravity="center">
  <com.facebook.drawee.view.SimpleDraweeView
      android:layout_width="100dp"
      android:layout_height="150dp"
      app:placeholderImage="@mipmap/ic_launcher"
      app:failureImage="@mipmap/ic_launcher"
      android:id="@+id/simpler_ZZSY"
      />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="影视名称"
        android:id="@+id/textView_Name_ZZSY"
        android:gravity="center"
        />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="购票"
        android:textSize="20sp"
        android:textColor="#fff"
        android:background="#f00"
        android:id="@+id/button_GP"
        />
</LinearLayout>

精彩演出item

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:gravity="center">
  <com.facebook.drawee.view.SimpleDraweeView
      android:layout_width="100dp"
      android:layout_height="150dp"
      app:placeholderImage="@mipmap/ic_launcher"
      app:failureImage="@mipmap/ic_launcher"
      android:id="@+id/simpler_JCYC"
      />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="影视名称"
        android:id="@+id/textView_Name_JCYC"
        android:gravity="center"
        />

</LinearLayout>

评论item

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="#C9F602"
    >
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="影视名称"
        android:id="@+id/textView_Name_Pl"
        />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="评论留言"
       android:id="@+id/textView_Ly"
        />
    <androidx.recyclerview.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/recyclerView_Pl2"
        android:layout_marginTop="10dp"
        />


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

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/child_Name"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/child_content"

        android:layout_marginLeft="20dp"
        />

</LinearLayout>
Kotlin中,编写一个水产布局页面通常会涉及到Android Studio下的XML布局文件结合数据绑定或者MVVM架构。这里是一个简单的例子,展示如何创建一个显示水产分类列表的RecyclerView布局: ```kotlin // 假设我们有一个FruitData类表示水产类别 data class SeafoodCategory(val name: String, val icon: Int) // XML布局文件 (activity_main.xml) <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <data> // 定义绑定变量 var selectedCategory: SeafoodCategory? = null </data> <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view_seafood" android:layout_width="match_parent" android:layout_height="match_parent" app:layoutManager=" LinearLayoutManager" app:itemAnimator="@android:anim/slide_in_left" app:bindAdapter="@{viewModel.categories}"/> </layout> ``` 然后,在对应的ViewModel中(假设名为SeafoodCategoriesViewModel),我们可以准备一个LiveData数组来持有水产类别数据: ```kotlin class SeafoodCategoriesViewModel : ViewModel() { private val _categories = MutableLiveData<List<SeafoodCategory>>() val categories: LiveData<List<SeafoodCategory>> get() = _categories init { // 加载水产类别数据 loadSeafoodCategories() } fun loadSeafoodCategories() { // 使用网络请求、数据库查询等方式获取数据并更新UI val seafoodList = listOf( SeafoodCategory("海鲜A", R.drawable.ic_fish), SeafoodCategory("海鲜B", R.drawable.ic_crab), // 更多类别... ) _categories.value = seafoodList } } ``` 在Fragment或Activity中,我们需要设置RecyclerView的数据源和监听点击事件: ```kotlin class SeafoodPage : Fragment() { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { return inflater.inflate(R.layout.activity_main, container, false) } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) val recyclerView = view.findViewById<RecyclerView>(R.id.recycler_view_seafood) val adapter = SeafoodAdapter(_binding.categories) recyclerView.adapter = adapter recyclerView.setOnClickListener { item -> selectedCategory = item.data // 处理点击事件,例如跳转到详情页 } } // ...其他必要的初始化和生命周期管理 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值