首页 > 代码库 > android开发之单选按钮

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开发之单选按钮