Я пытаюсь создать кнопку, подобную этой: image .
Я только что попытался сделать простую кнопку и использовать атрибут android:drawableTop="@drawable/ic_my_icon
, но таким образом я не могу изменить размер иконки :(
В моем проекте я использую привязку данных и макет ограничения, и в этом фрагменте я должен использовать более 5 подобных кнопок. Лучший способ, который я нашел, - это использование MaterialCardView с внутренним RelativeLayout.
<com.google.android.material.card.MaterialCardView
android:id="@+id/cardTranslationTraining"
android:layout_width="@dimen/cardSize"
android:layout_height="@dimen/cardSize"
app:cardBackgroundColor="@drawable/card_color_selector"> <RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="60sp"
android:layout_height="60sp"
android:layout_centerHorizontal="true"
android:layout_margin="5sp"
app:srcCompat="@drawable/icon" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10sp"
android:gravity="center"
android:text="Translate" />
<ImageView
android:layout_width="match_parent"
android:layout_height="3dp"
android:layout_alignParentBottom="true"
android:background="@color/colorPrimaryDark" />
</RelativeLayout>
</com.google.android.material.card.MaterialCardView>
Но есть более 200 строк, и это выглядит ужасно!
Как я могу сделать это без большого вложения? Кто-нибудь может помочь?
Большое спасибо за вашу помощь :)