Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: TableLayout добавить строки в другие столбцы

Добрый день. Есть такой код. Но TextView добавляются снизу. Как сделать чтобы добавлялись сбоку?
Нужно чтобы было 3 столбика.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 TableLayout TabLay = (TableLayout) this.findViewById(R.id.tableLayout);
        TableLayout.LayoutParams viewParams = new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT,
                TableLayout.LayoutParams.WRAP_CONTENT);
 
 
        TextView txtV = new TextView(this);
        txtV.setText("Название");
        txtV.setLayoutParams(viewParams);
        TabLay.addView(txtV);
 
        TextView txtV2 = new TextView(this);
        txtV2.setText("Необходимо");
        txtV2.setLayoutParams(viewParams);
        TabLay.addView(txtV2);
 
        TextView txtV3 = new TextView(this);
        txtV3.setText("Текущий");
        txtV3.setLayoutParams(viewParams);
        TabLay.addView(txtV3);
Ответ:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        TableLayout tabLay = (TableLayout) this.findViewById(R.id.tableLayout);
 
        TableRow tr = new TableRow(this);
        tabLay.addView(tr);
 
 
        TextView txtV = new TextView(this);
        txtV.setText("Название");
        tr.addView(txtV);
 
        TextView txtV2 = new TextView(this);
        txtV2.setText("Необходимо");
        tr.addView(txtV2);
 
        TextView txtV3 = new TextView(this);
        txtV3.setText("Текущий");
        tr.addView(txtV3);
Вопрос: Не растягивается Spinner в TableLayout

Доброго времени суток.
Понадобился выпадающий список на экране. Компоненты которого размещены в TableLayout в двух условных столбцах.
Делаю так:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        <TableRow android:padding="4dp">
 
            <TextView
                android:id="@+id/lShedule1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="4dp"
                android:text="Расписание 1"
                android:textSize="17dp"/>
 
            <Spinner
                android:id="@+id/sSpinner"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="4dp"
                android:textSize="17dp"/>
 
        </TableRow>
В коде добавляю стандартный адаптер и заполняю строками из ресурсов. Проблема в том, что Spinner не растягивается по ширине ячейки и треугольник перекрывает текст.
Получаю такую картину:

При этом, заметил, что если размещать Spinner вне таблицы - он нормально масштабируется.
Ответ: Код инициализации:
Java
1
2
3
4
5
sSpinner = (Spinner)view.findViewById(R.id.sSpinner);
 
        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(getActivity(), R.array.planets_array, android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        sSpinner.setAdapter(adapter);
Добавлено через 39 минут
Победил беду, указав свойство Spinner`а
XML
1
android:layout_weight="1"
Вопрос: Как добавить строку "." в начале в ListView со своим обработчиком

Я в своей базе данных, на каждый новый каталог, дополнительно добавляю запись со строкой "..", чтобы можно было переходить в верхний каталог. Все это работает, но уж больно корявая реализация. Можно ли в ListView добавить эту строку, без добавления в базу данных?
Ответ: Нашел сам новый способ. А именно как добавить свои записи в объект Cursor. А создал константу с первой записью ".."
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    private static final String[] COLUMNS =
            new String[]{
                    BaseColumns._ID,
                    COLUMN_PARENT,
                    COLUMN_THING_NAME,
                    COLUMN_DESCRIPTION,
                    COLUMN_FOTO,
                    COLUMN_DATE,
                    COLUMN_ISBOX
            };
 
    private static final MatrixCursor BACK_DIR_HEADER_CURSOR = new MatrixCursor(
            //These are the names of the columns in my other cursor
            COLUMNS);
 
    static {
        BACK_DIR_HEADER_CURSOR.addRow(new String[]{
                "0",
                "0",
                "..",
                null,
                null,
                null,
                "1"
        });
    }
И метод который добавляет в начало cursor'а эту константу:
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
        public static Cursor addHeaderToCursor(Cursor cursor) {
        Cursor[] cursorToMerge = new Cursor[2];
 
        cursorToMerge[0] = BACK_DIR_HEADER_CURSOR;
        cursorToMerge[1] = cursor;
        return new MergeCursor(cursorToMerge);
    }
P.S. Соблюдайте порядок столбцов
Вопрос: Вывод данных в TableLayout

Всем добрый день! Подскажите пожалуйста, каким образом можно вывести данные в таблицу (TableLayout)?
К примеру мне нужно вывести данные Sin(x). В первом столбике - значения X, во втором столбике - значения Y.
Буду очень сильно благодарен за ответ!

Добавлено через 26 минут
Не обязательно TableLayout. Если есть другие, более лучшие способы, подскажите пожалуйста
Ответ: Спасибо!
Вопрос: Не обновляется содержимое TableLayout в Fragment

Здравствуйте. У меня есть фрагмент, в котором располагается таблица TableLayout с перечнем издательств. Также есть кнопка "Добавить новое издательство". При клике на эту кнопку открывается окно для добавления в БД нового значения. При закрытии этого окна необходимо что бы содержимое таблицы было актуальным и содержало новое значение.
Проблема: отображение обновленной таблицы происходит только при переходе на другой фрагмент (вкладку) и возвращении обратно.
Код:
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class PublishersActivity extends Fragment {
    View rootView;
 
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        rootView = inflater.inflate(R.layout.fragment_publishers, container, false);
        //******
            fab.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                Toast.makeText(rootView.getContext(), "OnClcInPublishers", Toast.LENGTH_LONG).show();
                startActivity(new Intent(rootView.getContext(), AddPublisherActivity.class));
 
            }
        });
        showPublishers(rootView);
 
        return rootView;
    }
 public static void showPublishers(View v){
 
        TableLayout tableLayout = (TableLayout) v.findViewById(R.id.PublishersTableLayout);
         //****
        for(Publisher p : dbh.getPublishers()){
            TableRow tableRow = new TableRow(v.getContext());
             //***добавление в таблицу строк
         }
  }
}
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class AddPublisherActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_publisher);
 
 
        this.publAddBtn = (Button) findViewById(R.id.PublisherAdd);
 
        final View publActivityView = View.inflate(this, R.layout.fragment_publishers, null);
 
        this.publAddBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DataBaseHelper dbh = new DataBaseHelper(getApplicationContext());
                dbh.putPublishersInfo(publName.getText().toString(), publTown.getText().toString());
                PublishersActivity.showPublishers(publActivityView); //ОБНОВЛЕНИЕ ПРОИСХОДИТ, МЕТОД ВЫЗЫВАЕТСЯ. НО СОДЕРЖИМОЕ НЕ ИЗМЕНИЯЕТСЯ
 
                finish();
 
            }
        });
 
    }
}
Вопрос: почему после вызова PublishersActivity.showPublishers(publActivityView); содержимое TableLayout не изменяется?
Ответ: Rube, взял код из public void onNavigationDrawerItemSelected(int position) из MainActivity:
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
final FragmentManager fragmentManager = getFragmentManager();//////////
 
 
        this.publAddBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                DataBaseHelper dbh = new DataBaseHelper(getApplicationContext());
                dbh.putPublishersInfo(publName.getText().toString(), publTown.getText().toString());
                PublishersActivity.showPublishers(publActivityView);
 
 
                try {
 
                    fragmentManager.beginTransaction().replace(R.id.container, new PublishersActivity()).commit();/////////////////
                }catch(Exception ex){
                    Toast.makeText(v.getContext(), ex.getMessage(), Toast.LENGTH_LONG).show();
                }
                finish();
            }
        });
-не работает, значить Вы правы. Буду пробовать с другими компонентами
Вопрос: Как подогнать ряд кнопок в TableLayout под ширину экрана?

День добрый. Пишу игру простенькую Крестики-нолики.
Поле состоит квадрата 3x3 из Кнопок, которые генерируются в коде.

Размер кнопки устанавливается при создании.
Java(TM) 2 Platform Standard Edition 5.0
1
2
button.setWidth(100);
button.setHeight(100);
Но на разных телефонах кнопки естественно по разному (где-то маленькие кнопки, а где-то не влазят целиком в экран), т.к. метод setWidth задает все в пикселях.

Вопрос, как можно сделать, чтобы ряд кнопок влезал на всех экранах?


Вот код создания кнопок:

Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
    //динамически добавляет строки и колонки в игровое поле
    private void buildGameField() {
        Square[][] field = game.getField();
        for (int i = 0, lenI = field.length; i < lenI; i++) {
            final int x=i;
            TableRow row = new TableRow(this);      //создание строки таблицы
            for (int j = 0, lenJ = field[i].length; j < lenJ; j++) {
                final int y = j;
                Button button = new Button(this);
                buttons[i][j] = button;
 
                // установка слушателя, реагирующего на клик по кнопке
                button.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Button button = (Button) v;
                        Game g = game;
                        Player player = g.getCurrentActivePLayer();
                        if (makeTurn(x, y)) {
                            button.setText(player.getName());
                        }
                        Player winner = g.checkWinner();
                        if (winner != null) {
                            gameOver(winner);
                        }
                        //если поле заполнено
                        if (g.isFieldFilled()) {
                            gameOver();
                        }
                    }
                });
 
                //добавление кнопки в таблицу
                row.addView(button, new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.MATCH_PARENT));
 
                button.setWidth(100);
                button.setHeight(100);
            }
            //добавление строки в таблицу
            layout.addView(row, new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.MATCH_PARENT));
        }
    }
Ответ:
Сообщение от egorikftp
Вопрос, как можно сделать, чтобы ряд кнопок влезал на всех экранах?
делать все в xml

Добавлено через 1 час 21 минуту
вот набросал, может пригодится
1. открываем файл style.xml и дописываем такие строки
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
    <style name="MyAwesomeStyle">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_weight">1</item>
    </style>

со стилем кода будет куда меньше и менять потом что-то удобнее

2. создаем файл разметки, например field.xml с таким содержимым
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    <LinearLayout
        android:id="@+id/field"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:orientation="vertical">
 
        <LinearLayout
            style="@style/MyAwesomeStyle"
            android:orientation="horizontal">
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="1" />
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="2" />
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="3" />
        </LinearLayout>
 
        <LinearLayout
            style="@style/MyAwesomeStyle"
            android:orientation="horizontal">
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="4" />
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="5" />
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="6" />
        </LinearLayout>
 
        <LinearLayout
            style="@style/MyAwesomeStyle"
            android:orientation="horizontal">
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="7" />
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="8" />
 
            <Button
                style="@style/MyAwesomeStyle"
                android:text="9" />
        </LinearLayout>
    </LinearLayout>
 
</FrameLayout>

Это просто пример разметки, 9 кнопок которые будут квадратиком в центре экрана. При повороте размер будет пересчитываться.

3. в onCreate() добавляем немного кода
Кликните здесь для просмотра всего текста
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
        findViewById(R.id.field).addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
            @Override
            public void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {
                View parentView = (View) v.getParent();
                int size = Math.min(parentView.getMeasuredWidth(), parentView.getMeasuredHeight());
                ViewGroup.LayoutParams params = v.getLayoutParams();
                params.width = size;
                params.height = size;
                v.setLayoutParams(params);
            }
        });

в принципе и все
Вопрос: Не работает TableLayout

Вобщем, при попытке запустить выдаёт ошибку. В xml у меня получилось сделать в 1 ряд 2 кнопки, а тут нет... Пожалуйста, помогите
Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
TableLayout ddLayoutBodyTable = new TableLayout(this); 
        ddLayoutBodyTable.setOrientation(LinearLayout.VERTICAL);
        ddLayoutBodyTable.setGravity(Gravity.CENTER);
        ddLayoutBodyTable.setLayoutParams(dd_top);
        ddLayoutBodyTable.setBackgroundResource(R.drawable.screen_body_bg);
        ddLayoutBodyTable.setStretchAllColumns(true);
        ddLayoutBodyTable.setColumnStretchable(2, true);
Ответ: bako-95, тут я нашёл ошибку. Спасибо).
Место LinearLayout.VERTICAL
TableLayout.VERTICAL

Добавлено через 1 минуту
Но теперь вот в чем вопрос. Как в 1 ряд 2 объекта поместить?

Добавлено через 5 минут
Помогите сделать так на Java:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<TableLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:stretchColumns="*"
        android:shrinkColumns="0,1"
        android:background="@drawable/zero_light_bg"
        android:orientation="vertical" >
        
        <TableRow android:padding="5dp">
        
        <Button
            android:layout_height="70dp"
            android:layout_width="200dp"
            android:textColor="#ffffff"
            android:text="Сохранить"
            android:background="@drawable/zero_light_bg"
            android:id="@+id/dendroidB1"
            android:onClick="saveProgress" />
 
        <Button
            android:layout_height="70dp"
            android:layout_width="200dp"
            android:textColor="#ffffff"
            android:text="Загрузить"
            android:background="@drawable/zero_light_bg"
            android:id="@+id/dendroidB1"
            android:onClick="loadProgress" />
        
        </TableRow>
Вопрос: Растянуть TableLayout на всю часть родителя

Всех приветствую, котятки!
На повестке дня снова вопрос... Мучаюсь здесь с TableLayout, но всё никак не могу растянуть его на всю часть парента. Помогите, пожалуйста!
Такой вот кодец.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  gameSquare = new TableLayout(this);
        gameSquare.setBackgroundColor(Color.BLUE);
        for (int i = 0; i < rows; ++i) {
            TableRow row = new TableRow(this);
            for (int j = 0; j < cols; ++j)
            {
                Button button = new Button(this);
                button.setBackgroundColor(Color.GREEN);
                button.setOnClickListener(new ButtonListener(button, currentPlayer));
                row.addView(button);
            }
            gameSquare.addView(row, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
        }
        mainView.addView(gameSquare, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT, 0.5f));
В mainView есть еще два лейаута - слева и справа. То есть, моя таблица должна быть по центру. Но проблема в её отображении. Скриншот снизу(я специально баттоны окрасила в зелёный цвет, чтобы видеть, сколько он занимает, и вот на картинке видно)

Синяя область - это часть mainView, зеленая область - сам TableLayout.
Внимание, знатоки, вопрос.
Как сделать, чтобы этот TableLayout заполнил всю область mainView?..
Заранее благодарна уделившим внимание!)
Ответ: Ну в этом коде в строке
Java(TM) 2 Platform Standard Edition 5.0
1
mainView.addView(gameSquare, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT, 0.5f));
нужно поменять LayoutParams на
Java(TM) 2 Platform Standard Edition 5.0
1
new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
Вопрос: TableLayout не растягивается на высоту свободной области

Добрый день не tablerow не растягивается по высоте экрана:
Layout:
Код XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="4"
        android:src="@drawable/ic_launcher"
        android:id="@+id/imageView" />
 
    <TableLayout
        android:layout_weight="1"
        android:stretchColumns="*"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:id="@+id/table_layout">
 
    </TableLayout>
 
    <ImageView
        android:layout_weight="4"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:src="@drawable/ic_launcher"
        android:id="@+id/imageView2" />
 
</LinearLayout>
Используется данное view в ViewPager, ну это я думаю не особо важно.

Код Java(TM) 2 Platform Standard Edition 5.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import android.content.Intent;
 
import android.os.Bundle;
import android.support.v4.app.Fragment;
 
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TableLayout;
import android.widget.TableRow;
 
 
 
 
 
public class PageFragment extends Fragment {
 
    int pageNumber;
 
 
    static final String ARGUMENT_PAGE_NUMBER = "arg_page_number";
 
    static PageFragment newInstance(int page)
    {
        PageFragment fragment = new PageFragment();
        Bundle argument = new Bundle();
        argument.putInt(ARGUMENT_PAGE_NUMBER,page);
        fragment.setArguments(argument);
        return fragment;
 
    }
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        pageNumber = getArguments().getInt(ARGUMENT_PAGE_NUMBER);
 
    }
 
 
 
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.ch_level_layout,null);
        final MyDrawables md = (MyDrawables) getActivity().getApplicationContext();
        View.OnClickListener onclicklistener = new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String str = ((Button) v).getText().toString() ;
                md.setNum_of_level(Integer.parseInt(str));
                Intent intent = new Intent(getActivity(),MyActivity.class);
                startActivityForResult (intent,1);
            }
        };
 
 
        TableRow tablerow;
        String str;
        Button btn_t ;
 
 
 
        TableLayout tableLayout = (TableLayout)view.findViewById(R.id.table_layout);
 
       // int widthButt =(int) (view.getWidth()-view.findViewById(R.id.imageView).getWidth()*2  / 3.2);
       // int heightButt = (int)(view.getHeight()-view.findViewById(R.id.imageView).getHeight()*2 / 6.2);
 
 
 
        for (int i = 0; i < 4; i++) {
            tablerow = new TableRow(getActivity());
            tablerow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT,
                    TableRow.LayoutParams.MATCH_PARENT,1));
            for (int j = 0; j < 3; j++) {
                str = Integer.toString(pageNumber * 10 + i * 3 + j + 1);
                btn_t = new Button(getActivity());
               // btn_t.setWidth(widthButt);
               // btn_t.setHeight(heightButt);
 
                tablerow.addView(btn_t,j);
                btn_t.setText(str);
                btn_t.setOnClickListener(onclicklistener);
 
            }
            tableLayout.addView(tablerow,i);
        }
        return view;
 
    }
}

В итоге выходит вот что :


Как сделать чтобы растягивалось во всю высоту ?
Ответ: Благодарю за ответы, проблему исправил следующим образом:
Для TableRow:
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
tablerow.setLayoutParams(new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT,
                    TableLayout.LayoutParams.MATCH_PARENT,1));
Для Button:
Код Java(TM) 2 Platform Standard Edition 5.0
1
btn_t.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT,TableRow.LayoutParams.MATCH_PARENT,1));      
Вопрос: Как в ячейке TableLayout совместить два изображения?

Собственно задача следующая: внизу активности текст. над текстом изображение собранное из нескольких слоев. в зависимости от количества текста изображение меняеться в размере - то есть обычный Лейаут с весами в 1 для текста и рисунка. НО! при попытке добавить второе изображение на слой оно становитьс рядом. А мне нужно, чтоб точно так же ставало - то есть накладывалось поверх первого. Подскажите, как реализовать?
Ответ: Используй RelativeLayout. Там можно сделать несколько ImageView один над другим.