-1

我使用Android Studio中的循環動態創建按鈕。但是,這些按鈕彼此重疊。目前我已經設置了循環運行一定次數,最終我將使用一個數據庫中可能會有所不同的數字。我試圖設置這些按鈕,以便不管按鈕的數量如何,它們總是水平居中。敬酒包括在內,因爲我看不到一個按鈕是否被創建,因爲它們全部在彼此之上。Android Studio:在循環中創建定位按鈕

LinearLayout layout = (LinearLayout)findViewById(R.id.space_layout); 


    for (int i = 0; i <= 3; i++){ 
     Button myButton = new Button(this);// initialization of new button 
     myButton.setText(""); 
     myButton.setLayoutParams(new RelativeLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT)); 
     layout.addView(myButton); 
     Toast.makeText(this, "Button Created" + i, Toast.LENGTH_SHORT).show(); 
    } 
+0

我不斷地問自己爲什麼人們喜歡編程構建他們的UI ... –

+0

我不明白。爲什麼當你在_LinearLayout_中時使用_RelativeLayout_ params? –

+0

當你有少量/大量的按鈕時,你希望它看起來如何?! –

回答

1

試試這個,讓我知道,如果這是你在找什麼:

MainActivity.java

package com.example.myapplication; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.Button; 
import android.widget.LinearLayout; 

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     int number = 5; // number of buttons 
     LinearLayout layout = (LinearLayout) findViewById(R.id.space_layout); 
     for (int i = 0; i < number; i++) { 
      Button myButton = new Button(this); 
      myButton.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT, 1f)); 
      myButton.setText("btn " + i); 
      layout.addView(myButton); 
     } 
    } 

} 

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:id="@+id/space_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:orientation="horizontal" /> 

</RelativeLayout> 
+0

非常感謝,這工作就像一個魅力:) –

+0

不客氣:) –

相關問題