模仿淘宝京东数量选择器

来源:互联网 发布:iphone数据恢复软件 编辑:程序博客网 时间:2024/04/30 10:22

今天做的一个数量选择的demo,主要是selector来改变按钮的颜色状态变化,selector的用法大家可以看这个博客http://blog.csdn.net/shakespeare001/article/details/7788400/点击打开链接;

MainActivity

package com.lpy.Number;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.content.Context;import android.text.Editable;import android.view.KeyEvent;import android.view.LayoutInflater;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ImageButton;import android.widget.ImageView;import android.widget.RelativeLayout;import android.widget.TextView;import android.widget.TextView.OnEditorActionListener;import android.widget.Toast;public class MainActivity extends Activity {private TextView number;private ImageButton image1;private ImageButton image2;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);number = (TextView) findViewById(R.id.number);image1 = (ImageButton) findViewById(R.id.imageView1);image2 = (ImageButton) findViewById(R.id.imageView2);number.setText("1");setlisten();}private void setlisten() {image2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {int a = Integer.valueOf(number.getText().toString());a += 1;if (a > 99) {number.setText("99");image2.setEnabled(false);} else {number.setText(a + "");image1.setEnabled(true);}}});image1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {int a = Integer.valueOf(number.getText().toString());a -= 1;if (a < 2) {number.setText("1");image1.setEnabled(false);} else {number.setText(a + "");image2.setEnabled(true);}}});}}
两个简单的图片监听器

下面是Xml文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:orientation="vertical" >


    <LinearLayout
        android:layout_width="97dp"
        android:layout_height="30dp"
        android:background="@drawable/edit_product_num_cancle_focus"
        android:gravity="center_vertical"
        android:orientation="horizontal" >


        <ImageButton
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="minuss"
            android:background="@drawable/minusselect" />


        <TextView
            android:id="@+id/number"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:ellipsize="marquee"
            android:ems="1"
            android:gravity="center"
            android:inputType="number"
            android:text="1" >
        </TextView>


        <ImageButton
            android:id="@+id/imageView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:onClick="add"
            android:background="@drawable/addselect" />
    </LinearLayout>


</LinearLayout>

后面两个是Selector的xml,是加和减两个图片的背景选择
一个addselect,一个minussselect
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@drawable/edit_product_num_des_down" android:state_pressed="true"/>    <item android:drawable="@drawable/edit_product_num_des_normal" android:state_enabled="true"/>    <item android:drawable="@drawable/edit_product_num_des_no_enable" android:state_enabled="false"/></selector>

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">    <item android:drawable="@drawable/edit_product_num_add_down" android:state_pressed="true"/>    <item android:drawable="@drawable/edit_product_num_add_normal" android:state_enabled="true"/>    <item android:drawable="@drawable/edit_product_num_add_no_enable" android:state_enabled="false"/></selector>

这是六章图片

0 0
原创粉丝点击