#android #button #textview
#Android #кнопка #textview
Вопрос:
Я разрабатываю календарь, в котором мне нужно отображать большой текст внутри многих ячеек, на кнопке есть текст, который представляет номер дня, как я могу прикрепить к нему другое текстовое представление?
Комментарии:
1.
How can I add multiple TextViews inside a Button
Вы не можете. Кнопка не является контейнером. Вместо этого рассмотрите возможность использования GridView.
Ответ №1:
Вы можете окружить кнопку FrameLayout, а затем добавить textview в FrameLayout. Если текст не отображается, попробуйте использовать BringToFront()
макет:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
android:id="@ id/button_frame"
>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/button_border"
android:gravity="center"
android:onClick="onClick"
android:text="@string/get_more"
android:id="@ id/get_more"
android:stateListAnimator="@null"
/>
<TextView
android:id="@ id/linearTimer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_gravity="right"
android:padding="10dp"
android:text="123"
>
</FrameLayout>
Активность:
countDownView = (TextView) findViewById(R.id.linearTimer);
countDownView.bringToFront();
Ответ №2:
Вы не можете добавлять текстовые представления в кнопку. Что вы можете сделать, это использовать макет (относительный / линейный / фрейм / и т.д.) для инкапсуляции ваших текстовых представлений. Затем вы установите OnClickListener для макета!
Ваш XML будет выглядеть примерно так:
<RelativeLayout>
<TextView/>
<TextView/>
...
</RelativeLayout>
Очевидно, вам нужно добавить к нему атрибуты. А также установите OnClickListener для RelativeLayout (или любой другой макет, который вы хотите использовать)!
Комментарии:
1. Спасибо за ваш ответ! 🙂 но мне нужен текст внутри кнопки: (но, как я уже упоминал, на кнопке уже есть текст (номер дня)