android开发之单选按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android开发之单选按钮相关的知识,希望对你有一定的参考价值。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#ebebeb" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <RelativeLayout
            android:id="@+id/title"
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:background="#2b3134" >

            <ImageButton
                android:id="@+id/infor_back"
                android:layout_width="40dp"
                android:layout_height="match_parent"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:background="@color/transparent"
                android:paddingBottom="5dp"
                android:paddingLeft="5dp"
                android:paddingRight="5dp"
                android:paddingTop="5dp"
                android:scaleType="centerInside"
                android:src="@drawable/ac0" />

            <View
                android:id="@+id/view_temp"
                android:layout_width="1dp"
                android:layout_height="match_parent"
                android:layout_marginBottom="8dp"
                android:layout_marginTop="8dp"
                android:layout_toRightOf="@id/infor_back"
                android:background="#14191A" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:layout_marginLeft="10dp"
                android:layout_toRightOf="@id/view_temp"
                android:text="违法停车告知单信息"
                android:textColor="#ffffff"
                android:textSize="18sp" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:layout_marginTop="5dp"
            android:background="#ffffff"
            android:clickable="true" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="15dp"
                android:gravity="center"
                android:paddingLeft="5dp"
                android:text="车牌号:"
                android:textColor="#000000"
                android:textSize="18sp" />

            <TextView
                android:id="@+id/plate_number"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_alignParentRight="true"
                android:layout_gravity="center_vertical"
                android:layout_marginRight="20dp"
                android:gravity="center_vertical"
                android:paddingLeft="10dp"
                android:text="5555555"
                android:textColor="#000000"
                android:textSize="18sp" />

            <View
                android:layout_width="match_parent"
                android:layout_height="0.1dp"
                android:layout_alignParentBottom="true"
                android:layout_marginLeft="12dp"
                android:layout_marginRight="12dp"
                android:background="#dadada" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:background="#ffffff" >

            <TextView
                android:id="@+id/car_cl"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_alignParentLeft="true"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="15dp"
                android:gravity="center"
                android:paddingLeft="5dp"
                android:text="车身颜色:"
                android:textColor="#000000"
                android:textSize="18sp" />

            <EditText
                android:id="@+id/car_color"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_alignParentRight="true"
                android:layout_gravity="center_vertical"
                android:layout_marginRight="20dp"
                android:layout_toRightOf="@id/car_cl"
                android:cursorVisible="true"
                android:gravity="center_vertical"
                android:hint="请输入车身颜色"
                android:paddingLeft="10dp"
                android:singleLine="true"
                android:textColor="#000000"
                android:textSize="18sp" />

            <View
                android:layout_width="match_parent"
                android:layout_height="0.1dp"
                android:layout_alignParentBottom="true"
                android:layout_marginLeft="12dp"
                android:layout_marginRight="12dp"
                android:background="#dadada" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="wrap_content"
            android:layout_height="192dp"
            android:background="#ffffff"
            android:clickable="true" >

            <TextView
                android:id="@+id/car_type"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="15dp"
                android:gravity="center_horizontal"
                android:paddingLeft="5dp"
                android:paddingTop="15dp"
                android:text="车辆类型:"
                android:textColor="#000000"
                android:textSize="18sp" />

            <com.example.view.FlowRadioGroup
                android:id="@+id/cartype_radio_group"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_toRightOf="@id/car_type" >

                <RadioButton
                    android:id="@+id/big_carriage"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="大型客车"
                    android:textColor="#000000"
                    android:textSize="14sp" />

                <RadioButton
                    android:id="@+id/middle_carriage"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginRight="0dp"
                    android:text="中型客车"
                    android:textColor="#000000"
                    android:textSize="14sp" />

                <RadioButton
                    android:id="@+id/small_carriage"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="小型客车"
                    android:textColor="#000000"
                    android:textSize="14sp" />

                <RadioButton
                    android:id="@+id/big_car"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="大型货车"
                    android:textColor="#000000"
                    android:textSize="14sp" />

                <RadioButton
                    android:id="@+id/small_car"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="小型货车"
                    android:textColor="#000000"
                    android:textSize="14sp" />

                <RadioButton
                    android:id="@+id/motor_cycle"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="摩托车        "
                    android:textColor="#000000"
                    android:textSize="14sp" />

                <RadioButton
                    android:id="@+id/cartype_else"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="其他"
                    android:textColor="#000000"
                    android:textSize="14sp" />
            </com.example.view.FlowRadioGroup>

            <View
                android:layout_width="match_parent"
                android:layout_height="0.1dp"
                android:layout_alignParentBottom="true"
                android:layout_marginLeft="12dp"
                android:layout_marginRight="12dp"
                android:background="#dadada" />
        </RelativeLayout>

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="94dp"
            android:background="#ffffff"
            android:clickable="true" >

            <TextView
                android:id="@+id/plate_number_cl"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_gravity="center_vertical"
                android:layout_marginLeft="15dp"
                android:gravity="center_horizontal"
                android:paddingLeft="5dp"
                android:paddingTop="15dp"
                android:text="号牌颜色:"
                android:textColor="#000000"
                android:textSize="18sp" />

            <com.example.view.FlowRadioGroup
                android:id="@+id/plate_number_group"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_toRightOf="@id/plate_number_cl" >

                <RadioButton
                    android:id="@+id/yellow_numb"
                    android:layout_width="33dp"
                    android:layout_height="24dp"
                    android:text="黄色"
                    android:textColor="#000000"
                    android:textSize="14sp" />

                <RadioButton
                    android:id="@+id/blue_numb"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="蓝色"
                    android:textColor="#000000"
                    android:textSize="14sp" />

                <RadioButton
                    android:id="@+id/black_numb"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="黑色"
                    android:textColor="#000000"
                    android:textSize="14sp" />

                <RadioButton
                    android:id="@+id/color_else"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="其他"
                    android:textColor="#000000"
                    android:textSize="14sp" />
            </com.example.view.FlowRadioGroup>

            <View
                android:layout_width="match_parent"
                android:layout_height="0.1dp"
                android:layout_alignParentBottom="true"
                android:layout_marginLeft="12dp"
                android:layout_marginRight="12dp"
                android:background="#dadada" />
        </RelativeLayout>
    </LinearLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="50dip"
        android:layout_alignParentBottom="true"
        android:background="#2b3134" >

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

            <Button
                android:id="@+id/information_change"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_alignParentLeft="true"
                android:layout_weight="1"
                android:background="@android:color/transparent"
                android:gravity="center"
                android:text="修改"
                android:textColor="@android:color/white"
                android:textSize="20dp" />

            <View
                android:id="@+id/infor_view_temp"
                android:layout_width="4dp"
                android:layout_height="match_parent"
                android:layout_marginBottom="5dp"
                android:layout_marginTop="5dp"
                android:layout_toRightOf="@id/information_change"
                android:background="#14191A" />

            <Button
                android:id="@+id/information_sure"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_alignParentLeft="true"
                android:layout_weight="1"
                android:background="@android:color/transparent"
                android:gravity="center"
                android:text="确定"
                android:textColor="@android:color/white"
                android:textSize="20dp" />
        </LinearLayout>
    </RelativeLayout>

</RelativeLayout>
package com.example.view;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.RadioGroup;

public class FlowRadioGroup extends RadioGroup {

    public FlowRadioGroup(Context context, AttributeSet attrs) {
        super(context, attrs);

    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        int maxWidth = MeasureSpec.getSize(widthMeasureSpec);
        int childCount = getChildCount();
        int x = 0;
        int y = 0;
        int row = 0;

        for (int index = 0; index < childCount; index++) {
            final View child = getChildAt(index);
            if (child.getVisibility() != View.GONE) {
                child.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);
                // 此处增加onlayout中的换行判断,用于计算所需的高度
                int width = child.getMeasuredWidth();
                int height = child.getMeasuredHeight();
                x += width;
                y = row * height + height;
                if (x > maxWidth) {
                    x = width;
                    row++;
                    y = row * height + height;
                }
            }
        }
        // 设置容器所需的宽度和高度
        setMeasuredDimension(maxWidth, y);

    }

    @Override
    protected void onLayout(boolean changed, int l, int t, int r, int b) {
        final int childCount = getChildCount();
        int maxWidth = r - l;
        int x = 0;
        int y = 0;
        int row = 0;
        for (int i = 0; i < childCount; i++) {
            final View child = this.getChildAt(i);
            if (child.getVisibility() != View.GONE) {
                int width = child.getMeasuredWidth();
                int height = child.getMeasuredHeight();
                x += width;
                y = row * height + height;
                if (x > maxWidth) {
                    x = width;
                    row++;
                    y = row * height + height;
                }
                child.layout(x - width, y - height, x, y);
            }
        }
    }

}
// 注册单选按钮的监听事件
        cartype_radio_group.setOnCheckedChangeListener(listener1);
        plate_number_group.setOnCheckedChangeListener(listener2);
        car_color = (EditText) findViewById(R.id.car_color);
        back = (ImageButton) findViewById(R.id.infor_back);

    }

    private RadioGroup.OnCheckedChangeListener listener1 = new RadioGroup.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            if (checkedId == big_carriage.getId()) {
                cartype = big_carriage.getText().toString();
            } else if (checkedId == middle_carriage.getId()) {
                cartype = middle_carriage.getText().toString();
            } else if (checkedId == small_carriage.getId()) {
                cartype = small_carriage.getText().toString();
            } else if (checkedId == big_car.getId()) {
                cartype = big_car.getText().toString();
            } else if (checkedId == small_car.getId()) {
                cartype = small_car.getText().toString();
            } else if (checkedId == motor_cycle.getId()) {
                cartype = motor_cycle.getText().toString();
            } else {
                cartype = color_else.getText().toString();
            }

        }
    };
    private RadioGroup.OnCheckedChangeListener listener2 = new RadioGroup.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            if (checkedId == yellow_numb.getId()) {
                color_car = yellow_numb.getText().toString();
            } else if (checkedId == blue_numb.getId()) {
                color_car = blue_numb.getText().toString();
            } else if (checkedId == black_numb.getId()) {
                color_car = black_numb.getText().toString();
            } else {
                color_car = yellow_numb.getText().toString();
            }

        }
    };

 

以上是关于android开发之单选按钮的主要内容,如果未能解决你的问题,请参考以下文章

Android初级教程小案例之单选框RadioGroup与复选框CheckBox

Android:保存单选按钮的状态

单选按钮以片段形式传递数据

Adobe Air for Android 上的单选按钮和单选按钮组?

selenium自动化测试之单选下拉列表alert弹窗处理页面刷新

selenium自动化测试之单选下拉列表alert弹窗处理页面刷新