简单电影座位用法

该博客主要展示了一个Android程序的代码,实现了座位选择功能。通过GridView展示座位,使用SimpleAdapter绑定数据。用户点击座位可改变颜色并记录选中状态,点击提交按钮可显示选中座位信息。还给出了相应的布局文件,包含Spinner和TextView等组件。

public class ActivityText extends AppCompatActivity {
    private GridView gv;
    private SimpleAdapter adapter;
    private static final int ROW = 10;// 设置列数

    private ArrayList<Map<String, Object>> list;
    private List<String> dataList;// 保存选中座位
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        requestWindowFeature(Window.FEATURE_NO_TITLE);// 不显示程序的标题栏
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);// 不显示系统的标题栏
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_text);

        gv = findViewById(R.id.gridView1);
        dataList = new ArrayList<String>();

        adapter = new SimpleAdapter(// 创建适配器
                this,// Context
                generateDataList(), // 数据List
                R.layout.t,// 行对应layout 的 id
                new String[] { "Image", "Name" }, // 列名列表
                new int[] { R.id.imageView1, R.id.textView1 });// 列对应空间id列表

        gv.setAdapter(adapter);// 为GridView设置数据适配器
        gv.setNumColumns(ROW);
        gv.setVerticalSpacing(20);

        gv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if (dataList.contains(position + 1 + "")) {
                    view.setBackgroundColor(Color.BLACK);
                    dataList.remove(position + 1 + "");
                } else {
                    view.setBackgroundColor(Color.BLUE);
                    dataList.add(position + 1 + "");

                }

            }
        });

    }
    /**
     * 产生数据List
     *
     * @return
     */
    private List<Map<String, Object>> generateDataList() {

        if (list == null) {
            list = new ArrayList<Map<String, Object>>();
        } else {
            list.clear();
        }
        for (int i = 1; i <= 50; i++) {
            HashMap<String, Object> map = new HashMap<String, Object>();
            map.put("Image", R.drawable.yizi);
            map.put("Name", i);
            list.add(map);
        }
        return list;
    }

    public boolean onCreateOptionsMenu(Menu menu) {
        menu.add(1, 1, 1, "提交");

        return super.onCreateOptionsMenu(menu);
    }

    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
            case 1:
                Toast.makeText(this, dataList.toString(), Toast.LENGTH_SHORT)
                        .show();
                break;
        }
        return super.onOptionsItemSelected(item);
    }
}

 

 

、、布局

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@android:color/transparent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <Spinner
            android:id="@+id/spinner3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <Spinner
            android:id="@+id/spinner2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" />

        <Spinner
            android:id="@+id/spinner1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@android:color/darker_gray"
        android:gravity="center"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="屏    幕"
            android:textColor="@android:color/black"
            android:textSize="18dip" />
    </LinearLayout>

    <GridView
        android:id="@+id/gridView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginBottom="10dip"
        android:layout_marginLeft="10dip"
        android:layout_marginRight="10dip"
        android:layout_marginTop="10dip"
        android:background="@android:color/transparent"
        android:numColumns="3" >
    </GridView>

</LinearLayout>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想不上班

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值