I'm trying to create a CardView that will display a quote by an author, including the author name, the quote, and then the reference below it. I think I've got most of it, but it seems that the general rules for aligning TextViews don't seem to apply to CardView. I've researched here and found that you should add android:layout="vertical"
to LinearLayout (or RelativeLayout) but that doesn't seem to change things for me. I've also tried adding it to the CardView itself, thinking that it inherits the orientation from the immediate parent, but also no luck. I still get the TextViews overlapping each other, rather than one after the other.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent"
android:layout_width="match_parent">
... >
<!-- A CardView that contains a TextView -->
<android.support.v7.widget.CardView
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
android:layout_gravity="top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:longClickable="true"
android:orientation="vertical"
card_view:cardUseCompatPadding="true"
card_view:cardCornerRadius="4dp"
card_view:cardElevation="4dp"
card_view:contentPadding="10dp"
>
<TextView
android:id="@+id/info_text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#FF4444"
android:textSize="24sp"
android:text="Gordon B. Hinckley"
/>
<TextView
android:id="@+id/info_text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/info_text"
android:text="Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text."
/>
<TextView
android:id="@+id/info_text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/info_text2"
android:textColor="#33B5E5"
android:gravity="end"
android:text="and I'm the reference."
/>
</android.support.v7.widget.CardView>
Any thoughts?
Solved it. Just needed to wrap the <TextView>
s in a <LinearLayout>
(or whatever other layout) but all still within <android.support.v7.widget.CardView>
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With