[英]Android: Align a Button to the Right in LinearLayout
我有一段代碼可用來創建新的LinearLayout
。 在布局中,我希望添加一個同時包含標簽和值的TextView
。 然后在右邊的它旁邊,我要顯示該按鈕。 我希望按鈕位於屏幕末端,而無需拉伸按鈕。 我對按鈕的寬度和高度WARP_CONTENT
感到滿意。
如何在代碼中實現? 我幾乎沒有任何XML
因此不能選擇使用XML
。 我試圖使該應用程序盡可能地動態,因此我決定避開XML
。
請參見下面的代碼:
// Build a button
final Button addButton = new Button(task.getParent());
addButton.setText("Add New");
addButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
// Open a file picker here to let the user pick a file
}
});
// Build a new layout to hold all the elements
LinearLayout verticalLayout = new LinearLayout(task.getParent());
verticalLayout.setOrientation(LinearLayout.HORIZONTAL);
verticalLayout.addView(sizeTextView);
verticalLayout.addView(addButton);
預先謝謝你們。
嘗試以下操作:在TextView和Button之間添加空間(視圖)。
// View space = new View(parent_context);
View space = new View(task.getParent());
// Width:0dp, Height:1 & Weight: 1.0
LinearLayout.LayoutParams spaceLP = new LinearLayout.LayoutParams(0, 1, 1.0f);
space.setLayoutParams(spaceLP);
verticalLayout.addView(sizeTextView);
verticalLayout.addView(space);
verticalLayout.addView(addButton);
添加具有大小和引力的textview,如下所示:
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
params.setLayoutDirection(Gravity.RIGHT|Gravity.CENTER_VERTICAL);
verticalLayout.addView(sizeTextView,params);
為此,您應該使用相對布局和RelativeLayout.LayoutParams。 通過使用LayoutParams,您可以設置規則以根據需要對齊視圖。
例如
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)button.getLayoutParams();
params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
params.addRule(RelativeLayout.LEFT_OF, R.id.id_to_be_left_of);
button.setLayoutParams(params);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.