Как я могу добавить несколько текстовых представлений внутри кнопки

#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. Спасибо за ваш ответ! 🙂 но мне нужен текст внутри кнопки: (но, как я уже упоминал, на кнопке уже есть текст (номер дня)