导航:首页 > 操作系统 > android动态创建button

android动态创建button

发布时间:2022-06-22 11:38:44

android 动态生成控件,怎么设置控件的大小

一、方法
使用getLayoutParams() 和setLayoutParams()方法
二、示例代码
LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) aaa.getLayoutParams();
// 取控件aaa当前的布局参数
linearParams.height = 365; // 当控件的高强制设成365象素
aaa.setLayoutParams(linearParams); // 使设置好的布局参数应用到控件aaa
三、原理
a)getLayoutParams()和setLayoutParams()都是控件基类view的public方法,在外部也可以直接调用。
b)由于LayoutParams一般是在加入容器中设置的,所以容易混淆所指定的布局属性究竟是保存在容器中,还是控件本身的属性,答案是控件本身。但是在设置时还是要注意布局属性与容器种类密切相关。

⑵ android 动态添加button并设置选中

Button 没有选中和不选中的状态,如果要选中或者不选中,要使用Android提供的RadioGroup+RadioButton 或者使用CheckBox这些控件。
RadioGroup+RadioButton Android会自动的选中,只会有一个选中。
CheckBox需要写状态去控制。

⑶ android 怎么获得动态创建的button的text

你把xml中的Button删掉,代码中
btn=new Button(this);在这一行后,加一句这个:
btn.setText(R.string.btn_text);//给button赋一个初始的值

⑷ 请问:android如何动态添加控件,给控件添加“坐标”,“大小”等,求~~~~

在代码中可以动态的添加、移除控件;可以先获得一个layout的根标签layoutview,然后使用layoutview.addview(XXX),layoutview.removeview(XXX)之类的方法,动态添加、移除view,代码中也是可以控制布局的,找点资料看看就明白了,几句话也说不太明白。

⑸ android动态添加按钮并保存设置,再次进入程序时能直接操作第一次添加保存的按钮

在代码中动态创建一个button2(Button button2 = new Button(this)),然后把button2添加的你的布局中,比如你的布局是线性布局的话,linearlayout.addView(button2);然后需要SharedPreferences来保存button2可见的这个属性值,设置button2的可见属性,第一次默认为隐藏,button2.setVisibility(View.GONE),然后在button1设置它的点击事件,当点击后,修改button2的可见属性,并修改SharedPreferences里的属性值,这样,每次你进入程序后,先读SharedPreferences里的设置,来判断是否显示button2,然后你可以通过点击button1,来修改button2是否可见的属性,来达到点击button1创建一个button2的目的。

⑹ 用Android开发,在代码中动态生成Button按钮,能设置这个按钮的坐标吗,怎么设置呢

设置按钮坐标,需要上一层是绝对布局,然后在用 button.setLayoutParams(params);设置button出现的位置

⑺ android如何根据数据库里的信息动态生成按钮

用代码创建按钮就好了,想创建多少就创建多少
你在layout里面放一个view
Button btn1=new Button(this);
btn.setTag="":
btn.setOnClickListener(this);
view.add(btn1)

⑻ android如何在当前页面上动态显示播放按钮

有2中方案:

1、在布局中放置播放按钮,默认是隐藏的,在需要的时候,代码中设置显示

2、在代码中动态创建按钮

示例代码:

第一种方案

布局文件
<LinearLayout>
<Button
android:id="@+id/ItemTitle"
android:visibility="gone"/>//android:visibility属性设置不可见
</LinearLayout>

java代码中
Buttonbtn=(Button)findViewById(R.id.ItemTitle);//根据id查找按钮
btn.setVisible(View.Visible);//设置按钮可见

第二种方案

RelativeLayoutlayout=newRelativeLayout(this);
Buttonbtn=newButton(this);//创建按钮
RelativeLayout.LayoutParamsbtParams=newRelativeLayout.LayoutParams((width-50)/4,40);//设置按钮的宽度和高度
btParams.leftMargin=10+((width-50)/4+10)*(i%4);//横坐标定位
btParams.topMargin=20+55*j;//纵坐标定位
layout.addView(btn,btParams);//将按钮放入layout组件
this.setContentView(layout);//界面显示

⑼ Android开发中,如何给动态生成的Button指定Style样式

自定义样式方法,可以直接通过定义xml文件来实现不同的样式:
只需要修改button_style文件,同样三种状态分开定义:
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<shape>
<gradient android:startColor="#0d76e1" android:endColor="#0d76e1"
android:angle="270" />
<stroke android:width="1dip" android:color="#f403c9" />
<corners android:radius="2dp" />
<padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" />
</shape>
</item>

<item android:state_focused="true">
<shape>
<gradient android:startColor="#ffc2b7" android:endColor="#ffc2b7"
android:angle="270" />
<stroke android:width="1dip" android:color="#f403c9" />
<corners android:radius="2dp" />
<padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" />
</shape>
</item>

<item>
<shape>
<gradient android:startColor="#000000" android:endColor="#ffffff"
android:angle="180" />
<stroke android:width="1dip" android:color="#f403c9" />
<corners android:radius="5dip" />
<padding android:left="10dp" android:top="10dp"
android:right="10dp" android:bottom="10dp" />
</shape>
</item>
</selector>

gradient 主体渐变 startColor开始颜色,endColor结束颜色 ,angle开始渐变的角度(值只能为90的倍数,0时为左到右渐变,90时为下到上渐变,依次逆时针类推)
stroke 边框 width 边框宽度,color 边框颜色
corners 圆角 radius 半径,0为直角
padding text值的相对位置

⑽ Android 动态布局该如何实现!!

你的问题应该是要动态生成空间吧。
下面的答案可以参考下。
首先要却这个界面的布局,是AbsoluteLayout,RelativeLayout还是其他,然后就可以再里面添加控件了:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//确定界面的布局
AbsoluteLayout abslayout=new AbsoluteLayout (this);
setContentView(abslayout);
//创建一个button按钮
Button btn1 = new Button(this);
btn1.setText(”this is a button”);
btn1.setId(1);
//确定这个控件的大小和位置
AbsoluteLayout.LayoutParams lp1 =
new AbsoluteLayout.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,
0,100);
abslayout.addView(btn1, lp1 );

}
一个界面可以布置一个布局,可以多个布局一起设计:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

//设置界面的布局
RelativeLayout relativeLayout = new RelativeLayout(this);
setContentView(relativeLayout);

//添加一个AbsoluteLayout子布局,并给这个布局添加一个button
AbsoluteLayout abslayout=new AbsoluteLayout (this);
abslayout.setId(11);
Button btn1 = new Button(this);
btn1.setText(”this is a abslayout button”);
btn1.setId(1);
AbsoluteLayout.LayoutParams lp0 = new AbsoluteLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT,100,0);
abslayout.addView(btn1, lp0 );
//将这个子布局添加到主布局中
RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lp1.addRule(RelativeLayout.ALIGN_PARENT_TOP);
lp1.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
relativeLayout.addView(abslayout ,lp1);

//再添加一个子布局
RelativeLayout relativeLayout1 = new RelativeLayout(this);
Button btn2 = new Button(this);
btn2.setText(”this is a relativeLayout1 button”);
btn2.setId(2);
RelativeLayout.LayoutParams lp2 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lp2.addRule(RelativeLayout.ALIGN_PARENT_TOP);
lp2.addRule(RelativeLayout.CENTER_HORIZONTAL, RelativeLayout.TRUE);
relativeLayout1.addView(btn2 ,lp2);

//将这个布局添加到主布局中
RelativeLayout.LayoutParams lp11 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
lp11.addRule(RelativeLayout.BELOW ,11);
relativeLayout.addView(relativeLayout1 ,lp11);
}

阅读全文

与android动态创建button相关的资料

热点内容
32位windows编译器 浏览:961
ipad邮件无法连接发件服务器地址 浏览:61
php接收websocket 浏览:564
碧蓝航线如何查账号服务器 浏览:835
msx命令 浏览:750
怎么购买app内购 浏览:490
vivo手机怎么把安卓系统提示关闭 浏览:964
汽油分配控制单片机 浏览:579
python字典最大值最小值求和 浏览:281
php7pdo扩展 浏览:941
粉笔app如何看行测 浏览:817
如何举报不正当app 浏览:255
智能家居算法组 浏览:56
解压动画寿司 浏览:520
python3怎么连接mysql 浏览:425
程序员晒出一段代码 浏览:275
python爬虫崔庆才 浏览:767
u8服务器如何开启 浏览:884
java设置jtable 浏览:751
改造非牛顿流体解压 浏览:153