Android 横向选择器(HorizontalPickerView.java)

本文介绍了一个自定义的Android组件HorizontalPickerView,用于实现横向选择功能。通过示例代码展示了如何创建、设置适配器、监听选择事件,并提供了使用该组件的XML布局示例。
摘要由CSDN通过智能技术生成
package custom.widget;

import android.content.Context;
import android.database.DataSetObserver;
import android.os.Build;
import android.util.AttributeSet;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Adapter;


/**
 * Android 横向选择器
 * Created by yanhongliang on 16/4/9.
 * 使用方法

    <custom.widget.HorizontalPickerView
        android:id="@+id/scrollPicker"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="none">

        <LinearLayout
            android:id="@android:id/content"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:orientation="horizontal"
            android:gravity="center" />

    </custom.widget.HorizontalPickerView>


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);

        final HorizontalPickerView picker = (HorizontalPickerView)findViewById(R.id.scrollPicker);

        ArrayList<Integer> list = new ArrayList<>();
        for (int i = 0; i < 3; i++) {
            list.add(i);
        }

    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android中可以使用HorizontalScrollView和LinearLayout来实现横向选择。具体实现步骤如下: 1.在布局文件中添加HorizontalScrollView和LinearLayout组件,LinearLayout中添加多个子组件作为选择的选项。 2.设置LinearLayout的方向为水平方向,同时设置子组件的布局参数为固定宽度和高度。 3.在代码中获取LinearLayout,并为每个子组件设置点击事件,以便在用户点击某个选项时进行相应的处理。 示例代码如下所示: ```xml <HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/selector_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:id="@+id/option1" android:layout_width="100dp" android:layout_height="wrap_content" android:text="Option 1"/> <TextView android:id="@+id/option2" android:layout_width="100dp" android:layout_height="wrap_content" android:text="Option 2"/> <TextView android:id="@+id/option3" android:layout_width="100dp" android:layout_height="wrap_content" android:text="Option 3"/> </LinearLayout> </HorizontalScrollView> ``` ```java LinearLayout selectorLayout = findViewById(R.id.selector_layout); TextView option1 = findViewById(R.id.option1); option1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 处理选项1的点击事件 } }); TextView option2 = findViewById(R.id.option2); option2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 处理选项2的点击事件 } }); TextView option3 = findViewById(R.id.option3); option3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 处理选项3的点击事件 } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值