1
0
Fork 0
mirror of https://github.com/MatomoCamp/matomocamp-companion-android.git synced 2024-09-19 16:13:46 +02:00

Improve RTL support in all layouts

Disable RTL mode for TabLayout
Fix RTL support of CollapsingToolbarLayout
Use android:textAppearance attribute instead of style when possible.
This commit is contained in:
Christophe Beyls 2019-01-27 19:35:56 +01:00
parent 924e089e86
commit c33f7b23e3
12 changed files with 114 additions and 67 deletions

View file

@ -14,6 +14,7 @@
<com.google.android.material.appbar.CollapsingToolbarLayout <com.google.android.material.appbar.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar" android:id="@+id/collapsing_toolbar"
style="@style/Widget.Fixed.CollapsingToolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" <ScrollView 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" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/scroll_view" android:id="@+id/scroll_view"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -20,27 +19,33 @@
<TextView <TextView
android:id="@+id/title" android:id="@+id/title"
style="@style/TextAppearance.AppCompat.Headline"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="start"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Headline"
android:textIsSelectable="true" android:textIsSelectable="true"
tools:text="Welcome to FOSDEM"/> tools:text="Welcome to FOSDEM"/>
<TextView <TextView
android:id="@+id/subtitle" android:id="@+id/subtitle"
style="@style/TextAppearance.AppCompat.Subhead"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="start"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Subhead"
android:textIsSelectable="true" android:textIsSelectable="true"
tools:text="An introduction to your favourite Free Software meeting"/> tools:text="An introduction to your favourite Free Software meeting"/>
<TextView <TextView
android:id="@+id/persons" android:id="@+id/persons"
style="@style/TextAppearance.AppCompat.Body2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:gravity="start"
android:saveEnabled="false" android:saveEnabled="false"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Body2"
tools:text="FOSDEM Staff"/> tools:text="FOSDEM Staff"/>
<View <View
@ -78,34 +83,38 @@
<TextView <TextView
android:id="@+id/room_status" android:id="@+id/room_status"
style="@style/TextAppearance.AppCompat.Button"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingLeft="26dp" android:gravity="start"
android:paddingStart="26dp" android:paddingStart="26dp"
android:paddingLeft="26dp"
android:paddingEnd="0dp"
android:paddingRight="0dp"
android:saveEnabled="false" android:saveEnabled="false"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Button"
tools:text="Open"/> tools:text="Open"/>
</LinearLayout> </LinearLayout>
<TextView <TextView
android:id="@+id/abstract_text" android:id="@+id/abstract_text"
style="@style/TextAppearance.AppCompat.Body1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/translucent_grey" android:background="@color/translucent_grey"
android:padding="@dimen/content_margin" android:padding="@dimen/content_margin"
android:saveEnabled="false" android:saveEnabled="false"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textIsSelectable="true" android:textIsSelectable="true"
tools:text="FOSDEM welcome and opening talk."/> tools:text="FOSDEM welcome and opening talk."/>
<TextView <TextView
android:id="@+id/description" android:id="@+id/description"
style="@style/TextAppearance.AppCompat.Body1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="@dimen/content_margin" android:padding="@dimen/content_margin"
android:saveEnabled="false" android:saveEnabled="false"
android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textIsSelectable="true" android:textIsSelectable="true"
tools:text="Welcome to FOSDEM 2015!"/> tools:text="Welcome to FOSDEM 2015!"/>
@ -120,19 +129,19 @@
android:text="@string/related_links_header" android:text="@string/related_links_header"
android:visibility="gone"/> android:visibility="gone"/>
<androidx.appcompat.widget.LinearLayoutCompat <LinearLayout
android:id="@+id/links_container" android:id="@+id/links_container"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:divider="?android:attr/listDivider"
android:orientation="vertical" android:orientation="vertical"
android:paddingBottom="@dimen/content_margin"
android:paddingEnd="@dimen/content_margin"
android:paddingLeft="@dimen/content_margin"
android:paddingRight="@dimen/content_margin"
android:paddingStart="@dimen/content_margin" android:paddingStart="@dimen/content_margin"
android:visibility="gone" android:paddingLeft="@dimen/content_margin"
app:divider="?android:attr/listDivider" android:paddingEnd="@dimen/content_margin"
app:showDividers="middle"/> android:paddingRight="@dimen/content_margin"
android:paddingBottom="@dimen/content_margin"
android:showDividers="middle"
android:visibility="gone"/>
</LinearLayout> </LinearLayout>
</ScrollView> </ScrollView>

View file

@ -9,7 +9,8 @@
style="@style/Tabs" style="@style/Tabs"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:elevation="@dimen/toolbar_elevation"/> android:elevation="@dimen/toolbar_elevation"
android:layoutDirection="ltr" />
<androidx.viewpager.widget.ViewPager <androidx.viewpager.widget.ViewPager
android:id="@+id/pager" android:id="@+id/pager"

View file

@ -17,6 +17,7 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:elevation="@dimen/toolbar_elevation" android:elevation="@dimen/toolbar_elevation"
android:layoutDirection="ltr"
app:tabMode="scrollable" /> app:tabMode="scrollable" />
<androidx.viewpager.widget.ViewPager <androidx.viewpager.widget.ViewPager

View file

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<com.google.android.material.internal.ForegroundLinearLayout <com.google.android.material.internal.ForegroundLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -8,18 +7,20 @@
android:focusable="true" android:focusable="true"
android:foreground="@drawable/activated_background" android:foreground="@drawable/activated_background"
android:orientation="vertical" android:orientation="vertical"
android:paddingBottom="@dimen/list_item_padding"
android:paddingEnd="?attr/listPreferredItemPaddingRight"
android:paddingLeft="?attr/listPreferredItemPaddingLeft"
android:paddingRight="?attr/listPreferredItemPaddingRight"
android:paddingStart="?attr/listPreferredItemPaddingLeft" android:paddingStart="?attr/listPreferredItemPaddingLeft"
android:paddingTop="@dimen/list_item_padding"> android:paddingLeft="?attr/listPreferredItemPaddingLeft"
android:paddingTop="@dimen/list_item_padding"
android:paddingEnd="?attr/listPreferredItemPaddingRight"
android:paddingRight="?attr/listPreferredItemPaddingRight"
android:paddingBottom="@dimen/list_item_padding">
<TextView <TextView
android:id="@+id/title" android:id="@+id/title"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:drawablePadding="8dp" android:drawablePadding="8dp"
android:gravity="start"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Title" android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textSize="@dimen/abc_text_size_medium_material" android:textSize="@dimen/abc_text_size_medium_material"
tools:text="Welcome to FOSDEM 2015" /> tools:text="Welcome to FOSDEM 2015" />
@ -28,6 +29,8 @@
android:id="@+id/persons" android:id="@+id/persons"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="start"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Body2" android:textAppearance="@style/TextAppearance.AppCompat.Body2"
tools:text="FOSDEM Staff" /> tools:text="FOSDEM Staff" />
@ -36,6 +39,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="4dp" android:layout_marginTop="4dp"
android:gravity="start"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Caption" android:textAppearance="@style/TextAppearance.AppCompat.Caption"
tools:text="Keynotes" /> tools:text="Keynotes" />
@ -43,6 +48,8 @@
android:id="@+id/details" android:id="@+id/details"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="start"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textAppearance="@style/TextAppearance.AppCompat.Small"
tools:text="Saturday, 09:30 - 09:55 | Janson" /> tools:text="Saturday, 09:30 - 09:55 | Janson" />

View file

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<TextView <TextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/description" android:id="@+id/description"
style="@style/TextAppearance.AppCompat.Menu"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground" android:background="?attr/selectableItemBackground"
android:focusable="true" android:focusable="true"
android:gravity="start|center_vertical" android:gravity="start|center_vertical"
android:minHeight="48dp" android:minHeight="48dp"
android:padding="@dimen/list_item_padding"/> android:padding="@dimen/list_item_padding"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Menu" />

View file

@ -15,7 +15,9 @@
android:layout_alignParentLeft="true" android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:background="@color/schedule_time_background" android:background="@color/schedule_time_background"
android:gravity="start"
android:padding="@dimen/list_item_padding" android:padding="@dimen/list_item_padding"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Body1" android:textAppearance="@style/TextAppearance.AppCompat.Body1"
android:textStyle="bold" android:textStyle="bold"
tools:text="09:30" /> tools:text="09:30" />
@ -27,14 +29,16 @@
android:layout_alignParentTop="true" android:layout_alignParentTop="true"
android:layout_alignParentEnd="true" android:layout_alignParentEnd="true"
android:layout_alignParentRight="true" android:layout_alignParentRight="true"
android:layout_marginStart="@dimen/list_item_padding" android:layout_marginStart="?attr/listPreferredItemPaddingLeft"
android:layout_marginLeft="@dimen/list_item_padding" android:layout_marginLeft="?attr/listPreferredItemPaddingLeft"
android:layout_marginEnd="@dimen/list_item_padding" android:layout_marginEnd="?attr/listPreferredItemPaddingRight"
android:layout_marginRight="@dimen/list_item_padding" android:layout_marginRight="?attr/listPreferredItemPaddingRight"
android:layout_toEndOf="@+id/time" android:layout_toEndOf="@+id/time"
android:layout_toRightOf="@+id/time" android:layout_toRightOf="@+id/time"
android:drawablePadding="8dp" android:drawablePadding="8dp"
android:gravity="start"
android:paddingTop="@dimen/list_item_padding" android:paddingTop="@dimen/list_item_padding"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Title" android:textAppearance="@style/TextAppearance.AppCompat.Title"
android:textSize="@dimen/abc_text_size_medium_material" android:textSize="@dimen/abc_text_size_medium_material"
tools:text="Welcome to FOSDEM 2015" /> tools:text="Welcome to FOSDEM 2015" />
@ -48,6 +52,8 @@
android:layout_alignLeft="@+id/title" android:layout_alignLeft="@+id/title"
android:layout_alignEnd="@+id/title" android:layout_alignEnd="@+id/title"
android:layout_alignRight="@+id/title" android:layout_alignRight="@+id/title"
android:gravity="start"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Body2" android:textAppearance="@style/TextAppearance.AppCompat.Body2"
tools:text="FOSDEM Staff" /> tools:text="FOSDEM Staff" />
@ -61,7 +67,9 @@
android:layout_alignEnd="@+id/title" android:layout_alignEnd="@+id/title"
android:layout_alignRight="@+id/title" android:layout_alignRight="@+id/title"
android:layout_marginTop="4dp" android:layout_marginTop="4dp"
android:gravity="start"
android:paddingBottom="@dimen/list_item_padding" android:paddingBottom="@dimen/list_item_padding"
android:textAlignment="viewStart"
android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textAppearance="@style/TextAppearance.AppCompat.Small"
tools:text="Janson" /> tools:text="Janson" />

View file

@ -67,7 +67,6 @@
<TextView <TextView
android:id="@+id/last_update" android:id="@+id/last_update"
style="@style/TextAppearance.AppCompat.Caption"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/main_menu_footer_height" android:layout_height="@dimen/main_menu_footer_height"
android:layout_gravity="bottom" android:layout_gravity="bottom"
@ -79,6 +78,7 @@
android:paddingLeft="4dp" android:paddingLeft="4dp"
android:paddingEnd="4dp" android:paddingEnd="4dp"
android:paddingRight="4dp" android:paddingRight="4dp"
android:textAppearance="@style/TextAppearance.AppCompat.Caption"
tools:text="DB last updated: 1 jan. 2015 13:37:00" /> tools:text="DB last updated: 1 jan. 2015 13:37:00" />
</FrameLayout> </FrameLayout>

View file

@ -5,7 +5,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground" android:background="?attr/selectableItemBackground"
android:focusable="true" android:focusable="true"
android:gravity="center_vertical" android:gravity="start|center_vertical"
android:minHeight="?attr/listPreferredItemHeightSmall" android:minHeight="?attr/listPreferredItemHeightSmall"
android:paddingStart="?attr/listPreferredItemPaddingLeft" android:paddingStart="?attr/listPreferredItemPaddingLeft"
android:paddingLeft="?attr/listPreferredItemPaddingLeft" android:paddingLeft="?attr/listPreferredItemPaddingLeft"
@ -13,4 +13,5 @@
android:paddingEnd="?attr/listPreferredItemPaddingRight" android:paddingEnd="?attr/listPreferredItemPaddingRight"
android:paddingRight="?attr/listPreferredItemPaddingRight" android:paddingRight="?attr/listPreferredItemPaddingRight"
android:paddingBottom="@dimen/list_item_padding" android:paddingBottom="@dimen/list_item_padding"
android:textAlignment="viewStart"
android:textAppearance="?attr/textAppearanceListItem" /> android:textAppearance="?attr/textAppearanceListItem" />

View file

@ -4,26 +4,30 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground" android:background="?attr/selectableItemBackground"
android:focusable="true" android:focusable="true"
android:gravity="center_vertical" android:gravity="start|center_vertical"
android:minHeight="?attr/listPreferredItemHeight" android:minHeight="?attr/listPreferredItemHeight"
android:orientation="vertical" android:orientation="vertical"
android:paddingBottom="@dimen/list_item_padding"
android:paddingEnd="?attr/listPreferredItemPaddingRight"
android:paddingLeft="?attr/listPreferredItemPaddingLeft"
android:paddingRight="?attr/listPreferredItemPaddingRight"
android:paddingStart="?attr/listPreferredItemPaddingLeft" android:paddingStart="?attr/listPreferredItemPaddingLeft"
android:paddingTop="@dimen/list_item_padding"> android:paddingLeft="?attr/listPreferredItemPaddingLeft"
android:paddingTop="@dimen/list_item_padding"
android:paddingEnd="?attr/listPreferredItemPaddingRight"
android:paddingRight="?attr/listPreferredItemPaddingRight"
android:paddingBottom="@dimen/list_item_padding">
<TextView <TextView
android:id="@android:id/text1" android:id="@android:id/text1"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="start"
android:textAlignment="viewStart"
android:textAppearance="?attr/textAppearanceListItem" /> android:textAppearance="?attr/textAppearanceListItem" />
<TextView <TextView
android:id="@android:id/text2" android:id="@android:id/text2"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:gravity="start"
android:textAlignment="viewStart"
android:textAppearance="?attr/textAppearanceListItem" android:textAppearance="?attr/textAppearanceListItem"
android:textSize="@dimen/abc_text_size_small_material" /> android:textSize="@dimen/abc_text_size_small_material" />

View file

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Widget.Fixed.CollapsingToolbar" parent="Widget.Design.CollapsingToolbar">
<item name="collapsedTitleGravity">right|center_vertical</item>
<item name="expandedTitleGravity">right|bottom</item>
</style>
</resources>

View file

@ -20,8 +20,8 @@
<item name="android:listChoiceBackgroundIndicator">?attr/listChoiceBackgroundIndicator <item name="android:listChoiceBackgroundIndicator">?attr/listChoiceBackgroundIndicator
</item> </item>
<!-- Material padding fix --> <!-- Material padding fix -->
<item name="android:listPreferredItemPaddingStart" tools:ignore="NewApi">?android:attr/listPreferredItemPaddingLeft</item> <item name="android:listPreferredItemPaddingStart" tools:targetApi="jelly_bean_mr1">?android:attr/listPreferredItemPaddingLeft</item>
<item name="android:listPreferredItemPaddingEnd" tools:ignore="NewApi">?android:attr/listPreferredItemPaddingRight</item> <item name="android:listPreferredItemPaddingEnd" tools:targetApi="jelly_bean_mr1">?android:attr/listPreferredItemPaddingRight</item>
</style> </style>
<style name="AppTheme.NoActionBar"> <style name="AppTheme.NoActionBar">
@ -50,6 +50,8 @@
<item name="android:theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item> <item name="android:theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style> </style>
<style name="Widget.Fixed.CollapsingToolbar" parent="Widget.Design.CollapsingToolbar" />
<style name="Widget.MaterialHorizontalProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal"> <style name="Widget.MaterialHorizontalProgressBar" parent="Widget.AppCompat.ProgressBar.Horizontal">
<!-- Will be set in code --> <!-- Will be set in code -->
<item name="android:progressDrawable">@null</item> <item name="android:progressDrawable">@null</item>
@ -74,9 +76,11 @@
<item name="android:background">#e5e5e5</item> <item name="android:background">#e5e5e5</item>
</style> </style>
<style name="Metadata" parent="TextAppearance.AppCompat.Subhead"> <style name="Metadata">
<item name="android:textAppearance">@style/TextAppearance.AppCompat.Subhead</item>
<item name="android:textColor">#666666</item> <item name="android:textColor">#666666</item>
<item name="android:gravity">center_vertical</item> <item name="android:gravity">start|center_vertical</item>
<item name="android:textAlignment" tools:targetApi="jelly_bean_mr1">viewStart</item>
<item name="android:drawablePadding">8dp</item> <item name="android:drawablePadding">8dp</item>
</style> </style>
@ -86,6 +90,8 @@
<item name="android:paddingBottom">8dp</item> <item name="android:paddingBottom">8dp</item>
<item name="android:textSize">20sp</item> <item name="android:textSize">20sp</item>
<item name="android:textColor">@color/color_primary</item> <item name="android:textColor">@color/color_primary</item>
<item name="android:gravity">start</item>
<item name="android:textAlignment" tools:targetApi="jelly_bean_mr1">viewStart</item>
</style> </style>
<style name="RoomImageDialogAnimations"> <style name="RoomImageDialogAnimations">