您的位置:首页 > 移动开发 > Android开发

android EditText里面嵌入两个按钮,通过按钮可以加减EditText里的数字,组合自定义控件。

2011-07-08 10:25 567 查看
设计一个自定义组合控件。它的功能,通过两个按钮分别增加、减小EditText里面的数字。效果图如下:



实现代码:

/************** /src/com.lxy/AppMain.java ***************/

package com.lxy;

import android.app.Activity;
import android.os.Bundle;

public class AppMain extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}


/**************  /src/com.lxy/MyEditText.java **************/

package com.lxy;

import android.content.Context;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;

public class MyEditText extends LinearLayout{

private EditText mEditText;
private Button bAdd;
private Button bReduce;

//这里的构造一定是两个参数。
public MyEditText(final Context ctxt, AttributeSet attrs) {
super(ctxt,attrs);
}

protected void onFinishInflate() {
super.onFinishInflate();

LayoutInflater.from(getContext()).inflate(R.layout.myedittext, this);
init_widget();
addListener();

}

public void init_widget(){

mEditText = (EditText)findViewById(R.id.et01);
bAdd = (Button)findViewById(R.id.bt01);
bReduce = (Button)findViewById(R.id.bt02);
mEditText.setText("1");
}

public void addListener(){
bAdd.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
// TODO Auto-generated method stub

int num = Integer.valueOf(mEditText.getText().toString());
num++;
mEditText.setText(Integer.toString(num));
}
});

bReduce.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
int num = Integer.valueOf(mEditText.getText().toString());
num--;
mEditText.setText(Integer.toString(num));
}
});
}
}


/************  /res/layout/main.xml  *************/

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

<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textSize="30dip" android:text="数字通过按键可以加减: "></TextView>

<com.lxy.MyEditText
android:id="@+id/meter"
android:layout_width="wrap_content" android:layout_height="wrap_content"/>

</LinearLayout>


/**********  /res/layout/myedittext.xml  ***********/
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<EditText
android:id="@+id/et01"
android:layout_width="150dip" android:layout_height="40dip"
android:layout_x="0dip" android:layout_y="0dip"
android:textColor="#000000" android:textSize="30dip"
android:background="#FFFFFF" android:textScaleX="1.5"
android:numeric="integer"></EditText>

<Button android:id="@+id/bt01"
android:layout_height="18dip" android:layout_width="30dip"
android:layout_x="120dip" android:layout_y="0dip"
android:scaleType="fitCenter" android:background="@drawable/up"
/>

<Button android:id="@+id/bt02"
android:layout_height="18dip" android:layout_width="30dip"
android:layout_x="120dip" android:layout_y="22dip"
android:scaleType="fitCenter" android:background="@drawable/down"
/>
</AbsoluteLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐