What worked for me and probably will work for you is that:
- Wrap your 2 TextViews with RelativeLayout instead of LinearLayout and set android:clipChildren="false". This will prevent the overlapping portion from being clipped.
- Layout the 2nd TextView below the first TextView
- In the code, call bringToFront() on the first TextView. By default, the first textview is drawn first and will be below the second textview. Calling bringToFront() will change that order.
So the layout can be something like this:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:clipChildren="false">
<TextView
android:id="@+id/firstTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000"
android:text="First View" />
<TextView
android:id="@+id/secondTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/firstTextView"
android:background="#00000000"
android:layout_marginTop="-13dp"
android:text="Second View"/>
</RelativeLayout>
and:
TextView firstTextView = (TextView)findViewById(R.id.firstTextView);
firstTextView.bringToFront();