Android transition doesn't care about targetId in transitionSet - android-5.0-lollipop

I'm confused about how transitionSet is used. This is my definition:
<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android" android:transitionOrdering="sequential">
<slide android:slideEdge="bottom" android:startDelay="0">
<targets>
<target android:targetId="#id/action_save" />
</targets>
</slide>
<slide android:slideEdge="top">
<targets>
<target android:targetId="#id/image_album_background" />
</targets>
</slide>
<slide
android:duration="500"
android:slideEdge="bottom">
<targets>
<target android:targetId="#id/fields_container" />
</targets>
</slide>
</transitionSet>
This way, all views will slide from bottom edge. But if I change the order into this:
<?xml version="1.0" encoding="utf-8"?>
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android" android:transitionOrdering="sequential">
<slide android:slideEdge="top">
<targets>
<target android:targetId="#id/image_album_background" />
</targets>
</slide>
<slide android:slideEdge="bottom" android:startDelay="0">
<targets>
<target android:targetId="#id/action_save" />
</targets>
</slide>
<slide
android:duration="500"
android:slideEdge="bottom">
<targets>
<target android:targetId="#id/fields_container" />
</targets>
</slide>
</transitionSet>
Then, all will slide from top edge.
It seems that Android only cares about the first transition.
Update:
This is the layout:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fab="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- Picture -->
<RelativeLayout
android:id="#+id/image_album_background"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ff000000">
<ImageView
android:id="#+id/image_album"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:adjustViewBounds="true"
android:contentDescription="No art"
android:maxHeight="320dp"
android:maxWidth="320dp"
android:src="#drawable/ic_noart"
android:transitionName="transition_album_cover"
tools:ignore="HardcodedText" />
<Button
android:id="#+id/btn_img_marker"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignEnd="#+id/image_album"
android:layout_alignParentBottom="true"
android:layout_alignRight="#+id/image_album"
android:background="#ff56bb21" />
</RelativeLayout>
<LinearLayout
android:id="#+id/fields_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="#+id/image_album_background"
android:background="#ffffffff"
android:orientation="vertical"
android:padding="#dimen/frame_margin">
<CheckBox
android:id="#+id/cb_embed_art"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="#string/label_embed_art" />
<TextView
android:id="#+id/text_filepath"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="/mnt/data/path/to/file/audio.mp3" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="#id/fields_container"
android:background="#ffffffff"
android:padding="24dp">
<!-- Title -->
<LinearLayout
android:id="#+id/title_row"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="#style/label"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="#string/label_title" />
<EditText
android:id="#+id/edit_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="text" />
</LinearLayout>
<!-- Artist -->
<LinearLayout
android:id="#+id/artist_row"
style="#style/input_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="#id/title_row"
android:orientation="horizontal">
<TextView
style="#style/label"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="#string/label_artist" />
<AutoCompleteTextView
android:id="#+id/edit_artist"
style="?android:editTextStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text" />
</LinearLayout>
<!-- Album artist -->
<LinearLayout
android:id="#+id/album_artist_row"
style="#style/input_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="#id/artist_row"
android:orientation="horizontal">
<TextView
style="#style/label"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="#string/label_album_artist" />
<AutoCompleteTextView
android:id="#+id/edit_album_artist"
style="?android:editTextStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text" />
</LinearLayout>
<!-- Album -->
<LinearLayout
android:id="#+id/album_row"
style="#style/input_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="#id/album_artist_row"
android:orientation="horizontal">
<TextView
style="#style/label"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="#string/label_album" />
<AutoCompleteTextView
android:id="#+id/edit_album"
style="?android:editTextStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text" />
</LinearLayout>
<LinearLayout
android:id="#+id/two_column_row1"
style="#style/input_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="#id/album_row"
android:baselineAligned="false"
android:orientation="horizontal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="#style/label"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="#string/label_genre" />
<AutoCompleteTextView
android:id="#+id/edit_genre"
style="?android:editTextStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text" />
</LinearLayout>
<LinearLayout
style="#style/input_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="#style/label"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="#string/label_year" />
<EditText
android:id="#+id/edit_year"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="24dp"
android:layout_weight="3"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="#style/label"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="#string/label_track_no" />
<EditText
android:id="#+id/edit_track_no"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number" />
</LinearLayout>
<LinearLayout
style="#style/input_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
style="#style/label"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="#string/label_track_total" />
<EditText
android:id="#+id/edit_track_total"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
style="#style/input_row"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="#id/two_column_row1"
android:orientation="horizontal">
<TextView
style="#style/label"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:text="#string/label_comment" />
<EditText
android:id="#+id/edit_comment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top"
android:inputType="textMultiLine"
android:minLines="5" />
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
</ScrollView>
<com.melnykov.fab.FloatingActionButton
android:id="#+id/action_save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:layout_margin="16dp"
android:src="#drawable/ic_action_save"
fab:fab_colorNormal="#color/accent_shade"
fab:fab_colorRipple="#66FF9800" />
</FrameLayout>
This is how to open the layout:
String transitionName = "transition_album_cover";
if (AnimationViews.albumCover != null) {
fragmentTx.addSharedElement(AnimationViews.albumCover, transitionName);
}
TransitionInflater inflater = TransitionInflater.from(this);
editorFragment.setEnterTransition(inflater.inflateTransition(R.transition.editor_fragment_enter));

It is tricky to be able to make work all transitions which are child views. Because it depends on ViewGroup (parent view) of that child views.
Quoting from jimulabs:
If the background of a ViewGroup is set (even if it’s android:color/transparent), the transition system will treat the
ViewGroup as a single view and ignore its children. Thus, any
transitions will only run on the ViewGroup, instead of its children
individually; if a transition has its target set to one of the
children only, the transition will not run at all.
Conversely, if a ViewGroup does not have a background (or it’s #null), transitions will run for all its individual children; if a
transition has its target set to the ViewGroup, the transition will
not run at all.
This does NOT happen if you run beginDelayedTransition() in normal cases such as setting the visibility of views in a OnClickListener.
You can also read about this from here on section Transitioning Views & Transition Groups.
However, you should be able to make it work through method ViewGroup#setTransitionGroup(boolean) which i could not make it work. I have tried using this method on parent layout of screen. So i had to stick with javacode for all transitionSet targets which is time consuming.

I just tried this and it works fine for me, so I have to think that it has to do with your specific targets. My guess is that image_album_background contains both action_save and fields_container. If so, those two Views are still going to slide within their container.
The easy way around this is to move the image_album_background into a sibling of other two instead of parent. If you don't already have a container that is capable of that (e.g. LinearLayout), one extra level will do it:
<FrameLayout ...>
<ImageView android:id="#+id/image_album_background"/>
<other views.../>
</FrameLayout>

5.1.1 fixed confirmed
#George Mount mentioned that support.v4.fragments would fix that one, but in return, you will need to implement your Activity as FragmentActivity.

This is an old question, though, today I was having the same problem and I solved it by adding the tag android:transitionGroup="false|true" to the the ViewGroups, include the root, which of course, should be settled to false. I'm now able to run different animations, in different views (include|exclude views) and the behaviour is as expected.

Related

How to add FloatingActionButton on maps in xamarin.android

I am trying to add custom button for locate me for the maps. I came to know we need to use FloatingActionButton, so I have created as following in my layout.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fab="http://schemas.android.com/apk/res/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:id="#+id/header">
<include
android:id="#+id/mapToolbar"
layout="#layout/toolbar" />
</RelativeLayout>
<Spinner
android:id="#+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="#array/maptype_arrays" />
<fragment
android.id="#+id/map"
android:tag="maptag"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment" />
<android.support.design.widget.FloatingActionButton
android:id="#+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|left"
android:src="#drawable/locateme_icon"
android:layout_marginRight="15dp"
android:layout_marginBottom="15dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true" />
</LinearLayout>
But Im not getting button on the screen when run this. Is there anything to add along with this.
Thanks in advance.
I got the FloatingActionButton displayed by changing Linear layout to Frame layout.

Is it possible to pause the auto changing image in view flipper with a touch

Is it possible to pause the auto changing image with a finger touch in view flipper. Here I have given a product 360 view with some images , now I want to give the users a facility to pause and see the image .
Below given is the current XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="#+id/activity_kten_seeround"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".KtenSeeround">
<ViewFlipper
android:id="#+id/flipper1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:autoStart="true"
android:flipInterval="500"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="#+id/image1"
android:src="#drawable/kten75"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="#+id/image2"
android:src="#drawable/kten70"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="#+id/image3"
android:src="#drawable/kten65"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="#+id/image4"
android:src="#drawable/kten60"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="#+id/image5"
android:src="#drawable/kten55"/>
</ViewFlipper>
</RelativeLayout>

Collapse Toolbar affects other layout

I have this layout:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="#+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:theme="#style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:id="#+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:expandedTitleGravity="center_vertical">
<android.support.v7.widget.Toolbar
android:id="#+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_gravity="center"
android:theme="#style/Base.ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin"
app:titleMarginStart="35dp"
/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_collapseMode="parallax">
<Button
android:id="#+id/go_to_deezer_btn"
android:layout_width="135dp"
android:layout_height="36dp"
android:layout_gravity="bottom|center"
android:layout_marginBottom="52dp"
android:background="#drawable/rounded_corners_button"
android:text="#string/go_to_deezer"
android:textSize="12sp"
app:layout_anchor="#id/header"
app:layout_anchorGravity="bottom|center_horizontal" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.cmd.cienradios.ui.header.EntityHeaderAlbum
android:id="#+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<include
android:id="#+id/deezer_banner"
layout="#layout/deezer_banner"
android:layout_width="match_parent"
android:layout_height="70dp" />
</LinearLayout>
</FrameLayout>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.SwipeRefreshLayout
android:id="#+id/swipe_refresh_layout_generic"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:theme="#style/Theme.AppCompat.NoActionBar"
app:layout_behavior="#string/appbar_scrolling_view_behavior">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="#style/Theme.AppCompat.NoActionBar"
>
<com.cmd.cienradios.ui.TrackRecyclerView
android:id="#+id/tracks_recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:nestedScrollingEnabled="false" />
</android.support.v4.widget.NestedScrollView>
</android.support.v4.widget.SwipeRefreshLayout>
</android.support.design.widget.CoordinatorLayout>
when I run the program, it collapses just fine, expected behaviour.
but there seems to be another layout added between the collapsed toolbar and my Swiperefresh layout, it's as tall as the toolbar, but empty and unreactive
Somehow the toolbar is related to this issue as the hight of this phantom layout changes when I change the height of the toolbar
the space im refering to is the one on top of the recyclerView on the bottom.
Amazingly, this was fixed by moving the toolbar below the FrameLayout, when I moved it back up to reproduce the bug, it didn't do it. So I guess the lesson is "Sometimes you just have to move your code around" I guess maybe restarting the computer or shutting down Android Studio could have done the trick as well.

View with elevation and shadow in ConstraintLayout

How can I show elevations in a view with shadows using ConstraintLayout?
With Relative and Linear could perform elevations with shadows to implement list but I can not do it with ConstraintLayout.
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff"
android:orientation="vertical">
<TextView
android:id="#+id/list_ssid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:elevation="8dp"
android:background="#fff"
android:text="SSID"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="#+id/guideline"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="#+id/list_ch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:elevation="8dp"
android:background="#fff"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="CH"
app:layout_constraintLeft_toLeftOf="#+id/guideline"
app:layout_constraintRight_toLeftOf="#+id/guideline2"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="#+id/list_dB"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:elevation="8dp"
android:background="#fff"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:text="dB"
app:layout_constraintLeft_toLeftOf="#+id/guideline2"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<android.support.constraint.Guideline
android:id="#+id/guideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.65"
tools:layout_editor_absoluteX="239dp"
tools:layout_editor_absoluteY="0dp" />
<android.support.constraint.Guideline
android:id="#+id/guideline2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.83"
tools:layout_editor_absoluteX="306dp"
tools:layout_editor_absoluteY="0dp" />
</android.support.constraint.ConstraintLayout>
For some reason, elevation works in ConstraintLayout if you give a dummy drawable as the background::
Create a drawable:
dummyBg.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#android:color/white"/>
<corners android:radius="2dp" />
</shape>
</item>
</layer-list>
Use this as the background for the view and use elevation as you normally would.
android:elevation="8dp"
android:background="#drawable/dummyBg"
android:padding="4dp"
So you'd get:
<TextView
android:id="#+id/list_ssid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="6dp"
android:layout_marginBottom="2dp"
android:elevation="8dp"
android:background="#drawable/dummyBg"
android:padding="4dp"
android:text="SSID"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="#+id/guideline"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
In order to make elevation work, you need to just set a background color to a view.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#color/your_color"
android:text="SSID"/>
Doesn't matter what kind of View it is,
a child of ConstraintLayout or ConstraintLayout itself
You also may use hex color or color attribute.
Just note that it mustn't be fully transparent.

MVVMCross gridview column width

I want to display 5 columns through Mvxgridview, I have following code to setup gridview and its template but not able to get the desired result. I am getting only one column i.e. the first column which is displayed in a single row
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF">
<Mvx.MvxGridView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="#+id/gridView1"
local:MvxBind="ItemsSource Outages"
local:MvxItemTemplate="#layout/item_outage"
android:verticalSpacing="0dp"
android:horizontalSpacing="0dp"
android:stretchMode="columnWidth"
android:numColumns="auto_fit"
android:columnWidth="50dp"
android:gravity="center" />
Item template
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:local="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="#+id/relativeLayout1">
<TextView
android:text="Text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="#+id/textView1"
local:MvxBind="Text Wtg" />
<TextView
android:text="Text 2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="#+id/textView2"
local:MvxBind="Text StartTime"
android:layout_toRightOf="#id/textView1" />
<TextView
android:text="Text 3"
android:id="#+id/textView3"
local:MvxBind="Text EndTime"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="#id/textView2" />
<TextView
android:text="Text 4"
android:id="#+id/textView4"
local:MvxBind="Text Category"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="#id/textView3" />
<TextView
android:text="Text 5"
android:id="#+id/textView5"
local:MvxBind="Text SubCategory"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="#id/textView4" />
</RelativeLayout>