Witam,
Zacząłem ostatnio interesować się androidem. Wpadłem na pomysł aby zrobić grę. Gra już działa, ale mam problem jak zrobić planszę do gry, a będzie ona się składała z komponentów EditView dodawanych dynamicznie, mniej więcej w taki sposób
TableRow tr[] = new TableRow[6];
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TableLayout tl;
tl = (TableLayout) findViewById(R.id.layout);
ImageView iv[][] = new ImageView[5][4];
for(int i=0; i<5; i++)
{
tr[i] = new TableRow(this);
if(i==0) tr[i].setPadding(0,10,0,5);
else tr[i].setPadding(0,0,0,5);
tl.addView(tr[i]);
for(int j=0; j<4; j++)
{
iv[i][j] = new ImageView(this);
TableRow.LayoutParams params = new TableRow.LayoutParams();
//params.height= TableRow.LayoutParams.MATCH_PARENT;
//params.width= TableRow.LayoutParams.MATCH_PARENT;
if(j==0) params.setMargins(10, 0, 5, 0);
else params.setMargins(0,0,5,0);
params.height=110;
params.width=110;
iv[i][j].setLayoutParams(params);
iv[i][j].setBackgroundColor(Color.rgb(255-15*(j-i),192-25*(i*j),3+5*j));
tr[i].addView(iv[i][j]);
}
}
}
Jak widać rozmiary podaję na sztywno. A chciałbym dodać w taki sposób, że komponenty zajmują całą szerokość wyświetlacza, oprócz dwóch marginesów, po 10px, i 3 odstępów po 5px. Komponenty muszą być kwadratowe, więc ich wysokość musi być dostosowana do szerokości.
np. dla wyświetlacz 480 x800px chciałbym tak:
2*10 px z jednej i drugiej strony margines.
480-20-15 = 445;
445/4 ~ 110px
110px x 110px takie wymiary powinien mieć EditView.