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

基于安卓开发动态改变按钮的数量

2013-02-23 14:55 253 查看
完成这个小Demo分三个步骤.实现详细如下所示:

效果图如下:



1:首先建立创建main.xml文件,包括两个按钮,通过点击按钮来触发相应的事件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/llt"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:gravity="center_horizontal"

    android:orientation="vertical" >

    <LinearLayout

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:gravity="center_horizontal"

        android:orientation="horizontal" >

        <Button

            android:id="@+id/add"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="@string/add" />

        <Button

            android:id="@+id/sub"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_marginLeft="50dip"

            android:text="@string/sub" />

    </LinearLayout>

</LinearLayout>

2:在String.xml文件中定义如下:

<resources>

    <string name="app_name">GenerateBtn_demo</string>

    <string name="menu_settings">Settings</string>

    <string name="title_activity_main">按钮数量动态变化的demo</string>

    <string name="add">增加按钮</string>

    <string name="sub">减少按钮</string>

    <string name="newbtn">新增按钮</string>

    <string name="note">已经没有可以减少的按钮啦</string>

</resources>

3:在MainActivity.java中写相应的触发事件,包括按钮的增加与删除实现如下:

package com.example.generatebtn_demo;

import java.util.ArrayList;

import java.util.List;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.LinearLayout;

import android.widget.Toast;

public class MainActivity extends Activity

{

private int count = 0;

private Button sub, add, tempbuttonButton;

private List<Integer> mInts;

private LinearLayout llLayout;

private String msg;

@Override

public void onCreate(Bundle savedInstanceState)

{

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    sub = (Button) findViewById(R.id.add);

    add = (Button) findViewById(R.id.sub);

    msg = MainActivity.this.getResources().getString(R.string.newbtn);

    mInts = new ArrayList<Integer>();

    sub.setOnClickListener(operateListener);

    add.setOnClickListener(operateListener);

}

private OnClickListener operateListener = new OnClickListener()

{

    @Override

    public void onClick(View v)

    {

        Button btnButton = (Button) v;

        switch (btnButton.getId())

        {

        case R.id.add:

            llLayout = (LinearLayout) findViewById(R.id.llt);

            tempbuttonButton = new Button(MainActivity.this);

            tempbuttonButton.setText(msg + (++count));

            mInts.add(count);

            tempbuttonButton.setWidth(80);

            llLayout.addView(tempbuttonButton);

            break;

        case R.id.sub:

            if ((count - 1) >= 0)

            {

                llLayout.removeViewAt(mInts.get(count - 1));

                count--;

            } else

            {

                Toast.makeText(MainActivity.this, R.string.note, Toast.LENGTH_SHORT).show();

            }

        default:

            break;

        }

    }

};

}

详细源码请参考:http://download.csdn.net/detail/anliang123abc/4958844#comment
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息