如何以编程方式设置按钮位置?
问题描述:
在我的代码中,我以编程方式创建按钮2如何设置以编程方式将位置设置为屏幕中心?这是我的屏幕图像https://imgur.com/7wdyVc6提交按钮(button2)创建正下方forloop按钮我如何设置位置为屏幕中心?如何以编程方式设置按钮位置?
ScrollView scroll = new ScrollView(MainActivity1.this);
scroll.setLayoutParams(new
LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
btnLO = new LinearLayout(MainActivity1.this);
LinearLayout.LayoutParams paramsLO = new
LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
// button margins
paramsLO.setMargins(0, 0, 0, 0);
// button height/width *pixels*
paramsLO.height = 75;
paramsLO.width = 75;
btnLO.setOrientation(LinearLayout.VERTICAL);
btnLO.setBackgroundColor(5); // not working correctly
//buttons
for (i = 0;i < reqdata.length;i++)
{
LinearLayout li=new LinearLayout(this);
li.setOrientation(LinearLayout.HORIZONTAL);
final Button b1 = new Button(MainActivity1.this);
final ImageView imageView = new ImageView(MainActivity1.this);
li.addView(b1, paramsLO);
li.addView(imageView, paramsLO);
btnLO.addView(li);
b1.setText(reqdata[i].getSpinnerText());
b1.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
imageView1 = imageView;
Intent pictureActionIntent = new
Intent(MediaStore.ACTION_IMAGE_CAPTURE);
pictureActionIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new
File(SDCARD_ROOT_PATH + SAVE_PATH_IN_SDCARD,IMAGE_CAPTURE_NAME)));
startActivityForResult(pictureActionIntent,CAMERA_PICTURE);
b1.setClickable(false);
}
});
}
final Button b2 = new Button(MainActivity1.this);
b2.setText("Submit");
b2.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
long visitID = dbConnector.saveVisit();
for (i =0;i <reqdata.length;i++)
{
dbConnector.saveVisitDetail(listByte.get(i),visitID,Long.valueOf(reqdata[i]
.getValue()).longValue());
}
}
});
btnLO.addView(b2, paramsLO);
btnLO.setGravity(Gravity.LEFT | Gravity.CENTER_HORIZONTAL);
scroll.addView(btnLO);
this.addContentView(scroll, new LayoutParams());
}
答
在活动XML
,复制粘贴到所需的按钮组件如下:
android:layout_marginBottom="147dp"
android:layout_marginTop="50dp"
android:layout_marginleft="50dp"
android:layout_marginRight="47dp"
只用数字游戏,我相信日子会把你得到了它的窍门:)
答
一种可能的方法是使用RelativeLayout
作为基础布局,并使用RelativeLayout.LayoutParams
类将所有其他子视图添加到此布局,以设置布局参数。
RelativeLayout.Layoutparams.left
的和RelativeLayout.Layoutparams.top
属性可以是你的(X,Y)共对基本视图 坐标。
使用相对布局。 – Anukool 2013-03-07 10:33:04
我怎么只用于按钮2 ??帮助我PLZ – 2013-03-07 10:35:22
这里是滚动视图上的androids文档“A ScrollView是一个FrameLayout,这意味着你应该放置一个包含整个内容的孩子滚动”......在你的情况下,孩子是线性布局。您剩下两个选项:(1)使用相对布局而不是线性布局和位置按钮(2)使用相对布局,仅添加按钮2并在原始线性布局中添加此相对布局。我会建议选项1.你是否希望我发布任何这些选项的代码? – drulabs 2013-03-07 10:46:28