Dynamicznie dodawanie komponentów.

0

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.

0

Tak wyszło, że post pod postem.
To co w temacie to chyba już nie aktualne, bo pobieram sobie rozdzielczość ekranu i na jej podstawie tworzę wielkość ImageView Dobre rozwiązanie?
Mam jeszcze tam EditText, też dodany dynamicznie, i rozmiar podany na podstawie rozdzielczości wyświetlacza.
Teraz Chciałbym dopasować rozmiar tekstu do rozmiaru EditText'u. Jak to zrobić?, bo wysokość tekstu zajmuje mniej więcej 1/3 wysokości EditText'u.

1 użytkowników online, w tym zalogowanych: 0, gości: 1