Here's what I do:
The android:layout_weight="1" does the "trick" here. The documentation isn't quite clear on this one though:
For example, if there are three text fields and two of them declare a
weight of 1, while the other is given no weight, the third text field
without weight will not grow and will only occupy the area required by
its content.
(https://developer.android.com/guide/topics/ui/layout/linear.html#Weight)
It doesn't elaborate on the case in which there isn't space to fill but not enough space for all views. One interpretation of the mentioned piece of documentation would be that a field without weight (the rightTextView in this case) will occupy the area required by its content while a field with weight (the leftTextView in this case) will "grow" (as in negative growth) and that's exactly what happens.