基于安卓开发动态改变按钮的数量
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
效果图如下:
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
相关文章推荐
- 安卓开发之控件的大小获取和动态改变
- iOS开发笔记-cell里点击按钮展开收起-动态改变cell行高
- 安卓开发中,listview数量过多,加更多按钮显示
- 重新认识HBase,Cassandra列存储——本质是还是行存储,只是可以动态改变列(每行对应的数据字段)数量而已,当心不是parquet
- 基于JSP的动态网站开发技术
- EXT2.3.0实现按钮动态改变tooltip
- grails基于groovy开发的动态框架。开发过程中常见的错。
- Unity开发安卓游戏(2):基于安卓游戏的优化方案总结!
- 安卓开发中动态添加lsitView 代码实例【转】
- 安卓开发之简单动态设置TextView大小SP或者DP
- 项目视频讲解_国内首部基于JBPM5.4实战流程引擎开发(动态表单、模板引擎、公文管理系统)
- Windows Phone开发经验谈(15)-动态的改变APP的字体大小
- Android开发中button按钮的使用及动态添加组件方法示例
- 嵌入式Linux开发 动态改变IGMP版本号
- iOS开发之--最简单的导航按钮更换方法/导航颜色的改变
- iOS 开发 解决UITableViewcell单选动态改变cell文字和背景颜色的功能,且第一次默认选择第一个cell
- WinCE下动态改变按钮的字体
- 基于讯飞开放平台的安卓语音开发——语音听写(语音→文本)
- 基于ARM的网络视频监控开发+网页按钮控制摄像头方位
- IOS开发UI篇--使用CAShapeLayer实现一个音量大小动态改变的控件