簡體   English   中英

如何通過代碼設置組件的頂部中心位置?

[英]How to set top-center position of component via code?

我需要通過Java代碼生成用戶視圖,並且無法設置TextView的位置。 我想將組件設置在LinearLayout上並將其居中,如果我使用xml,它看起來像這樣:

 <TextView
    android:layout_gravity="center"/>

我的代碼是:

LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.VERTICAL);
test = new TextView(this);
LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
test.append("test");
activityTitle.setGravity(Gravity.CENTER);
layout.addView(activityTitle, params);
setContentView(layout);

這是輸出:

在此處輸入圖片說明

嘗試這個..

使用layout.setGravity(Gravity.CENTER|Gravity.TOP); 到您的LinearLayout

LinearLayout layout = new LinearLayout(this);
layout.setGravity(Gravity.CENTER|Gravity.TOP);
layout.setOrientation(LinearLayout.VERTICAL);
test = new TextView(this);
LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
test.append("test");
activityTitle.setGravity(Gravity.CENTER);
layout.addView(activityTitle, params);
setContentView(layout);

或這個

LinearLayout linearLayoutstate = new LinearLayout(this);

  linearLayoutstate.setOrientation(LinearLayout.HORIZONTAL);
  linearLayoutstate.setGravity(Gravity.CENTER_HORIZONTAL);
  LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT);

  TextView stateTitletv = new TextView(this);

  stateTitletv.setText("test");

  linearLayoutstate.addView(stateTitletv);

  linearLayoutstate.addView(state_valuetv);

  LL_SelectedFilters.addView(linearLayoutstate,layoutParams);

將TextView的寬度更改為MATCH_PARENT

LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM