⑴ 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);
}