Изменение выравнивания текста кнопки Android, когда view.GONE изменяется на view.VISIBLE - PullRequest
3 голосов
/ 01 ноября 2011

У меня есть что-то вроде "пользовательского представления списка", но это просто несколько таблиц в другой таблице и все они заключены в один большой ScrollView.

Метод

onClick в одной из таблиц я расширяю на label.setVisibility и button.setvisibility до view.VISIBLE и изменяю onClickListener.

Проблема возникает, когда я раскрываю, например, 2 таблицы, текст на кнопке внезапно идет влево Нет Android: гравитация или пользовательское форматирование текста из HTML не помогло.

Есть идеи?

Рисунок 1: открыт первый

Figure 1 : opened first

Рисунок 2: вторая секунда

Figure 2 : opened second

код для кнопок и onClickListener для таблицы (НЕ КНОПКУ !!)

        private TableRow PrepareAdditionalInfoButton(int id) {
            TableRow tableRow = new TableRow(ClassX.this);
            tableRow.setLayoutParams(new LayoutParams(
                    LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
            Button button = new Button(ClassX.this);
            button.setText("Odborné informace");
            LayoutParams layoutParams = new LayoutParams(
                    LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
            layoutParams.leftMargin = 20;
            layoutParams.rightMargin = 20;
            button.setLayoutParams(layoutParams);
            button.setVisibility(View.GONE);
            button.setId(id + 2000);
            button.setOnClickListener(onClickListener);
            tableRow.addView(button);
            return tableRow;
    }

таблица onClickListener:

        public View.OnClickListener showDetail = new View.OnClickListener() {
        public void onClick(View view) {
            int id = view.getId();
            View additionalInfo = findViewById(id + 1000);
            additionalInfo.setVisibility(View.VISIBLE);
            View additionalInfoButton = findViewById(id + 2000);
            additionalInfoButton.setVisibility(View.VISIBLE);
            view.setOnClickListener(closeDetail);
    }
};
...