Tips Gesture Navigation Tutorial [Part 1]
import various resources from tips gesture tutorial Bug: 146173041 Test: build and verify it passes Change-Id: Iacea7ba1f2d15452e7442f2976633da7012fab35
This commit is contained in:
parent
f10903e601
commit
993aef828a
|
@ -0,0 +1,20 @@
|
|||
<!--
|
||||
Copyright (C) 2020 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="?android:attr/dialogCornerRadius"/>
|
||||
<solid android:color="@color/back_gesture_tutorial_primary_color"/>
|
||||
</shape>
|
|
@ -0,0 +1,367 @@
|
|||
<!--
|
||||
Copyright (C) 2020 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<aapt:attr name="android:drawable">
|
||||
<vector
|
||||
android:width="206dp"
|
||||
android:height="435dp"
|
||||
android:viewportWidth="206"
|
||||
android:viewportHeight="435">
|
||||
<group android:name="edgeGroup"
|
||||
android:translateX="197"
|
||||
android:translateY="0">
|
||||
<path
|
||||
android:name="edge"
|
||||
android:fillAlpha="0"
|
||||
android:fillType="nonZero"
|
||||
android:fillColor="#1a73eb"
|
||||
android:pathData=" M0,0 h9 v435 h-9 z " />
|
||||
</group>
|
||||
<group
|
||||
android:name="trailGroup"
|
||||
android:translateX="226"
|
||||
android:translateY="200">
|
||||
<path
|
||||
android:name="trail"
|
||||
android:fillAlpha="1"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M0,0 h55 v36 h-55 z ">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="0"
|
||||
android:endX="55"
|
||||
android:type="linear">
|
||||
<item
|
||||
android:color="#991a73eb"
|
||||
android:offset="0" />
|
||||
<item
|
||||
android:color="#401a73eb"
|
||||
android:offset="0.5" />
|
||||
<item
|
||||
android:color="#001a73eb"
|
||||
android:offset="1" />
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
</group>
|
||||
<group android:name="_R_G">
|
||||
<group
|
||||
android:name="_R_G_L_0_G_T_1"
|
||||
android:rotation="11"
|
||||
android:scaleX="0.9"
|
||||
android:scaleY="0.9"
|
||||
android:translateX="309"
|
||||
android:translateY="422.5">
|
||||
<group
|
||||
android:name="_R_G_L_0_G"
|
||||
android:translateX="-145"
|
||||
android:translateY="-208">
|
||||
<path
|
||||
android:name="_R_G_L_0_G_D_0_P_0"
|
||||
android:fillAlpha="1"
|
||||
android:fillColor="#d2e3fc"
|
||||
android:fillType="nonZero"
|
||||
android:pathData=" M12.5 -47 C-7.93,-41.24 -3,-20.5 -1.5,-7 C0,6.5 2.5,22 9,39.5 C13.52,51.67 17.06,63.52 19,113 C21,164 53.5,243.5 53.5,243.5 C53.5,243.5 59,275.5 123.5,326 C188,376.5 283.5,236 290.5,199 C297.5,162 194.5,80 149,73 C103.5,66 90.5,57.5 77,50 C63.5,42.5 57,27 54.5,13.5 C52,0 43.5,-15 40,-25 C36.5,-35 32,-52.5 12.5,-47c " />
|
||||
<path
|
||||
android:name="_R_G_L_0_G_D_1_P_0"
|
||||
android:pathData=" M4.45 -34.66 C4.45,-34.66 10.5,-12.66 10.5,-12.66 C11.24,-9.98 13.98,-8.38 16.67,-9.04 C16.67,-9.04 29.72,-12.27 29.72,-12.27 C32.39,-12.93 34.05,-15.59 33.47,-18.28 C33.47,-18.28 32.11,-24.57 32.11,-24.57 "
|
||||
android:strokeWidth="4"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeColor="#a0c2f9" />
|
||||
<path
|
||||
android:name="_R_G_L_0_G_D_2_P_0"
|
||||
android:pathData=" M18.35 21.81 C21.41,17.24 36.97,10.77 44.63,13.55 "
|
||||
android:strokeWidth="4"
|
||||
android:strokeAlpha="1"
|
||||
android:strokeColor="#a0c2f9" />
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
<group android:name="time_group" />
|
||||
</vector>
|
||||
</aapt:attr>
|
||||
<target android:name="edge">
|
||||
<aapt:attr name="android:animation">
|
||||
<set android:ordering="together">
|
||||
<objectAnimator
|
||||
android:duration="333"
|
||||
android:propertyName="fillAlpha"
|
||||
android:startOffset="0"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0.2"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
<objectAnimator
|
||||
android:duration="917"
|
||||
android:propertyName="fillAlpha"
|
||||
android:startOffset="333"
|
||||
android:valueFrom="0.2"
|
||||
android:valueTo="0.2"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
<objectAnimator
|
||||
android:duration="583"
|
||||
android:propertyName="fillAlpha"
|
||||
android:startOffset="1250"
|
||||
android:valueFrom="0.2"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="trail">
|
||||
<aapt:attr name="android:animation">
|
||||
<set android:ordering="together">
|
||||
<objectAnimator
|
||||
android:duration="2000"
|
||||
android:propertyName="fillAlpha"
|
||||
android:startOffset="0"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
<objectAnimator
|
||||
android:duration="850"
|
||||
android:propertyName="fillAlpha"
|
||||
android:startOffset="2000"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="trailGroup">
|
||||
<aapt:attr name="android:animation">
|
||||
<set android:ordering="together">
|
||||
<objectAnimator
|
||||
android:duration="83"
|
||||
android:propertyName="translateX"
|
||||
android:startOffset="1250"
|
||||
android:valueFrom="226"
|
||||
android:valueTo="226"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.285,1 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
<objectAnimator
|
||||
android:duration="1000"
|
||||
android:propertyName="translateX"
|
||||
android:startOffset="1333"
|
||||
android:valueFrom="226"
|
||||
android:valueTo="151"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.285,1 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
<objectAnimator
|
||||
android:duration="517"
|
||||
android:propertyName="translateX"
|
||||
android:startOffset="2333"
|
||||
android:valueFrom="151"
|
||||
android:valueTo="151"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.285,1 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
<objectAnimator
|
||||
android:duration="50"
|
||||
android:propertyName="translateX"
|
||||
android:startOffset="2850"
|
||||
android:valueFrom="226"
|
||||
android:valueTo="226"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.285,1 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="_R_G_L_0_G_D_0_P_0">
|
||||
<aapt:attr name="android:animation">
|
||||
<set android:ordering="together">
|
||||
<objectAnimator
|
||||
android:duration="1833"
|
||||
android:propertyName="fillAlpha"
|
||||
android:startOffset="1250"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
<objectAnimator
|
||||
android:duration="167"
|
||||
android:propertyName="fillAlpha"
|
||||
android:startOffset="3083"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="_R_G_L_0_G_D_1_P_0">
|
||||
<aapt:attr name="android:animation">
|
||||
<set android:ordering="together">
|
||||
<objectAnimator
|
||||
android:duration="1833"
|
||||
android:propertyName="strokeAlpha"
|
||||
android:startOffset="1250"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
<objectAnimator
|
||||
android:duration="100"
|
||||
android:propertyName="strokeAlpha"
|
||||
android:startOffset="3083"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="_R_G_L_0_G_D_2_P_0">
|
||||
<aapt:attr name="android:animation">
|
||||
<set android:ordering="together">
|
||||
<objectAnimator
|
||||
android:duration="1833"
|
||||
android:propertyName="strokeAlpha"
|
||||
android:startOffset="1250"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
<objectAnimator
|
||||
android:duration="100"
|
||||
android:propertyName="strokeAlpha"
|
||||
android:startOffset="3083"
|
||||
android:valueFrom="1"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="_R_G_L_0_G_T_1">
|
||||
<aapt:attr name="android:animation">
|
||||
<set android:ordering="together">
|
||||
<objectAnimator
|
||||
android:duration="83"
|
||||
android:propertyName="translateX"
|
||||
android:startOffset="1250"
|
||||
android:valueFrom="309"
|
||||
android:valueTo="309"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.285,1 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
<objectAnimator
|
||||
android:duration="1417"
|
||||
android:propertyName="translateX"
|
||||
android:startOffset="1333"
|
||||
android:valueFrom="309"
|
||||
android:valueTo="251"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.285,1 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="_R_G_L_0_G_T_1">
|
||||
<aapt:attr name="android:animation">
|
||||
<set android:ordering="together">
|
||||
<objectAnimator
|
||||
android:duration="83"
|
||||
android:propertyName="rotation"
|
||||
android:startOffset="1250"
|
||||
android:valueFrom="11"
|
||||
android:valueTo="11"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.277,1 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
<objectAnimator
|
||||
android:duration="1417"
|
||||
android:propertyName="rotation"
|
||||
android:startOffset="1333"
|
||||
android:valueFrom="11"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType">
|
||||
<aapt:attr name="android:interpolator">
|
||||
<pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.277,1 1.0,1.0" />
|
||||
</aapt:attr>
|
||||
</objectAnimator>
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="time_group">
|
||||
<aapt:attr name="android:animation">
|
||||
<set android:ordering="together">
|
||||
<objectAnimator
|
||||
android:duration="2183"
|
||||
android:propertyName="translateX"
|
||||
android:startOffset="1250"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType" />
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
</animated-vector>
|
|
@ -0,0 +1,20 @@
|
|||
<!--
|
||||
Copyright (C) 2020 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="@dimen/default_dialog_corner_radius"/>
|
||||
<solid android:color="@color/back_gesture_tutorial_primary_color"/>
|
||||
</shape>
|
|
@ -0,0 +1,25 @@
|
|||
<!--
|
||||
Copyright (C) 2020 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="13dp"
|
||||
android:viewportHeight="14"
|
||||
android:viewportWidth="14"
|
||||
android:width="13dp">
|
||||
<path
|
||||
android:fillColor="#000000"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M14,1.41L12.59,0L7,5.59L1.41,0L0,1.41L5.59,7L0,12.59L1.41,14L7,8.41L12.59,14L14,12.59L8.41,7L14,1.41Z"/>
|
||||
</vector>
|
|
@ -0,0 +1,29 @@
|
|||
<!--
|
||||
Copyright (C) 2020 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="192dp"
|
||||
android:height="192dp"
|
||||
android:viewportWidth="192"
|
||||
android:viewportHeight="192">
|
||||
<path
|
||||
android:pathData="M96,90.01"
|
||||
android:strokeWidth="2.4297"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#FFC800"/>
|
||||
<path
|
||||
android:pathData="M153.24,48.09c-0.5,-1.51 -0.99,-2.86 -1.51,-4.12c-3.03,-7.1 -7.26,-13.45 -12.59,-18.88C127.68,13.42 112.4,7 96.1,7c-14,0 -27.66,4.93 -38.45,13.87C47,29.69 39.61,41.99 36.82,55.51c-0.76,3.9 -1.14,7.86 -1.14,11.78c0,16.39 6.36,31.77 17.9,43.3c2.65,2.65 5.59,5.08 8.74,7.23l0.09,24.14v22.03c0,5.33 4.82,10.01 10.32,10.01h0.41h3.85v0c0,6.23 4.53,10.93 10.53,10.93h16.94c6.01,0 10.54,-4.7 10.54,-10.93v0h4.31c5.56,0 10.26,-4.5 10.26,-9.83v-22.01c0.01,-0.06 0.01,-0.13 0.01,-0.2v-23.74c16.75,-11.15 26.73,-30.15 26.73,-50.94C156.31,60.76 155.28,54.3 153.24,48.09zM118.51,111.08l-0.46,0.29l-0.46,0.29v0.55v0.55v4.38v22.77l-14.12,0V95.9h14h2v-2v-8.5v-2h-2H74.53h-2v2v8.5v2h2h14v44.02l-14.13,0l-0.09,-23.21l-0.02,-4.3l0,-0.54l0,-0.54l-0.45,-0.29l-0.45,-0.29l-3.6,-2.36c-2.81,-1.84 -5.41,-3.95 -7.73,-6.28c-9.27,-9.26 -14.38,-21.63 -14.38,-34.82c0,-3.14 0.3,-6.31 0.9,-9.43C53.25,35.35 73.23,19 96.1,19c13.05,0 25.3,5.15 34.48,14.5c4.27,4.34 7.66,9.43 10.08,15.1c0.39,0.96 0.78,2.03 1.18,3.24c1.64,5 2.47,10.2 2.47,15.45c0,17.1 -8.27,32.58 -22.11,41.43L118.51,111.08z"
|
||||
android:fillColor="#4285F4"/>
|
||||
</vector>
|
|
@ -0,0 +1,19 @@
|
|||
<!--
|
||||
Copyright (C) 2020 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/back_gesture_tutorial_fragment_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"/>
|
|
@ -0,0 +1,121 @@
|
|||
<!--
|
||||
Copyright (C) 2020 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layerType="software"
|
||||
android:background="@color/back_gesture_tutorial_background_color">
|
||||
<!--The layout is rendered on the software layer to avoid b/136158117-->
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/back_gesture_tutorial_fragment_hand_coaching"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:scaleType="centerCrop"/>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/back_gesture_tutorial_fragment_close_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="18dp"
|
||||
android:layout_marginTop="30dp"
|
||||
android:layout_marginStart="4dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:background="@android:color/transparent"
|
||||
android:accessibilityTraversalAfter="@id/back_gesture_tutorial_fragment_titles_container"
|
||||
android:contentDescription="@string/back_gesture_tutorial_close_button_content_description"
|
||||
android:src="@drawable/back_gesture_tutorial_close_button"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="70dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/back_gesture_tutorial_fragment_titles_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:focusable="true">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/back_gesture_tutorial_fragment_title_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginStart="@dimen/back_gesture_tutorial_title_margin_start_end"
|
||||
android:layout_marginEnd="@dimen/back_gesture_tutorial_title_margin_start_end"
|
||||
style="@style/TextAppearance.BackGestureTutorial.Title"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/back_gesture_tutorial_fragment_subtitle_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginStart="@dimen/back_gesture_tutorial_subtitle_margin_start_end"
|
||||
android:layout_marginEnd="@dimen/back_gesture_tutorial_subtitle_margin_start_end"
|
||||
style="@style/TextAppearance.BackGestureTutorial.Subtitle"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<Space
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="48dp"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical"/>
|
||||
|
||||
<!-- android:stateListAnimator="@null" removes shadow and normal on click behavior (increase
|
||||
of elevation and shadow) which is replaced by ripple effect in android:foreground -->
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="46dp"
|
||||
android:layout_marginBottom="48dp"
|
||||
android:layout_gravity="center_horizontal">
|
||||
|
||||
<Button
|
||||
android:id="@+id/back_gesture_tutorial_fragment_action_button"
|
||||
android:layout_width="142dp"
|
||||
android:layout_height="49dp"
|
||||
android:layout_marginEnd="@dimen/back_gesture_tutorial_button_margin_start_end"
|
||||
android:layout_alignParentEnd="true"
|
||||
android:stateListAnimator="@null"
|
||||
android:background="@drawable/back_gesture_tutorial_action_button_background"
|
||||
android:foreground="?android:attr/selectableItemBackgroundBorderless"
|
||||
style="@style/TextAppearance.BackGestureTutorial.ButtonLabel"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/back_gesture_tutorial_fragment_action_text_button"
|
||||
android:layout_width="142dp"
|
||||
android:layout_height="49dp"
|
||||
android:layout_marginStart="@dimen/back_gesture_tutorial_button_margin_start_end"
|
||||
android:layout_alignParentStart="true"
|
||||
android:stateListAnimator="@null"
|
||||
android:background="@null"
|
||||
android:foreground="?android:attr/selectableItemBackgroundBorderless"
|
||||
style="@style/TextAppearance.BackGestureTutorial.TextButtonLabel"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
|
@ -80,4 +80,9 @@
|
|||
|
||||
<!-- Overscroll Gesture -->
|
||||
<dimen name="gestures_overscroll_fling_threshold">40dp</dimen>
|
||||
|
||||
<!-- Tips Gesture Tutorial -->
|
||||
<dimen name="back_gesture_tutorial_title_margin_start_end">40dp</dimen>
|
||||
<dimen name="back_gesture_tutorial_subtitle_margin_start_end">16dp</dimen>
|
||||
<dimen name="back_gesture_tutorial_button_margin_start_end">18dp</dimen>
|
||||
</resources>
|
||||
|
|
|
@ -66,5 +66,33 @@
|
|||
<!-- Text of the tip when user lands in all apps view for the first time, indicating where the tip toast points to is the predicted apps section. [CHAR_LIMIT=50] -->
|
||||
<string name="all_apps_prediction_tip">Your predicted apps</string>
|
||||
|
||||
<!-- Content description for a close button. [CHAR LIMIT=NONE] -->
|
||||
<string name="back_gesture_tutorial_close_button_content_description" translatable="false">Close</string>
|
||||
|
||||
<!-- Title shown on the notification of Back gesture tutorial. [CHAR LIMIT=30] -->
|
||||
<string name="back_gesture_tutorial_notification_title" translatable="false">Try the new back gesture</string>
|
||||
<!-- Subtitle shown on the notification of Back gesture tutorial. [CHAR LIMIT=60] -->
|
||||
<string name="back_gesture_tutorial_notification_subtitle" translatable="false">Learn how to go back while using your apps</string>
|
||||
<!-- Action text shown on the notification of Back gesture tutorial. [CHAR LIMIT=14] -->
|
||||
<string name="back_gesture_tutorial_notification_action_label" translatable="false">Try it</string>
|
||||
|
||||
<!-- Title shown during interactive part of Back gesture tutorial for right edge. [CHAR LIMIT=30] -->
|
||||
<string name="back_gesture_tutorial_playground_title_swipe_inward_right_edge" translatable="false">Try the back gesture</string>
|
||||
<!-- Subtitle shown during interactive parts of Back gesture tutorial for right edge. [CHAR LIMIT=60] -->
|
||||
<string name="back_gesture_tutorial_engaged_subtitle_swipe_inward_right_edge" translatable="false">Start at the right edge and swipe toward the middle</string>
|
||||
|
||||
<!-- Title shown during interactive part of Back gesture tutorial for left edge. [CHAR LIMIT=30] -->
|
||||
<string name="back_gesture_tutorial_playground_title_swipe_inward_left_edge" translatable="false">Try the other side</string>
|
||||
<!-- Subtitle shown during interactive parts of Back gesture tutorial for left edge. [CHAR LIMIT=60] -->
|
||||
<string name="back_gesture_tutorial_engaged_subtitle_swipe_inward_left_edge" translatable="false">That\'s it! Now try swiping from the left edge.</string>
|
||||
|
||||
<!-- Title shown on the confirmation screen after successful gesture. [CHAR LIMIT=30] -->
|
||||
<string name="back_gesture_tutorial_confirm_title" translatable="false">All set</string>
|
||||
<!-- Subtitle shown on the confirmation screen after successful gesture. [CHAR LIMIT=60] -->
|
||||
<string name="back_gesture_tutorial_confirm_subtitle" translatable="false">To change the sensitivity of the back gesture, go to Settings</string>
|
||||
|
||||
<!-- Button text shown on a button on the confirm screen. [CHAR LIMIT=14] -->
|
||||
<string name="back_gesture_tutorial_action_button_label" translatable="false">Done</string>
|
||||
<!-- Button text shown on a text button on the confirm screen. [CHAR LIMIT=14] -->
|
||||
<string name="back_gesture_tutorial_action_text_button_label" translatable="false">Settings</string>
|
||||
</resources>
|
|
@ -25,4 +25,39 @@
|
|||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.BackGestureTutorial"
|
||||
parent="android:TextAppearance.Material.Body1" />
|
||||
|
||||
<style name="TextAppearance.BackGestureTutorial.CallToAction"
|
||||
parent="android:TextAppearance.Material.Body2" />
|
||||
|
||||
<style name="TextAppearance.BackGestureTutorial.Title"
|
||||
parent="TextAppearance.BackGestureTutorial">
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:textColor">@color/back_gesture_tutorial_title_color</item>
|
||||
<item name="android:textSize">28sp</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.BackGestureTutorial.Subtitle"
|
||||
parent="TextAppearance.BackGestureTutorial">
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:textColor">@color/back_gesture_tutorial_subtitle_color</item>
|
||||
<item name="android:letterSpacing">0.03</item>
|
||||
<item name="android:textSize">21sp</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.BackGestureTutorial.ButtonLabel"
|
||||
parent="TextAppearance.BackGestureTutorial.CallToAction">
|
||||
<item name="android:gravity">center</item>
|
||||
<item name="android:textColor">@color/back_gesture_tutorial_action_button_label_color</item>
|
||||
<item name="android:letterSpacing">0.02</item>
|
||||
<item name="android:textSize">16sp</item>
|
||||
<item name="android:textAllCaps">false</item>
|
||||
</style>
|
||||
|
||||
<style name="TextAppearance.BackGestureTutorial.TextButtonLabel"
|
||||
parent="TextAppearance.BackGestureTutorial.ButtonLabel">
|
||||
<item name="android:textColor">@color/back_gesture_tutorial_primary_color</item>
|
||||
</style>
|
||||
</resources>
|
|
@ -0,0 +1,19 @@
|
|||
<!--
|
||||
Copyright (C) 2020 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<alias xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<intent
|
||||
android:action="com.android.quickstep.action.BACK_GESTURE_TUTORIAL" />
|
||||
</alias>
|
|
@ -37,4 +37,10 @@
|
|||
|
||||
<color name="all_apps_bg_hand_fill">#E5E5E5</color>
|
||||
<color name="all_apps_bg_hand_fill_dark">#9AA0A6</color>
|
||||
|
||||
<color name="back_gesture_tutorial_background_color">#FFFFFFFF</color>
|
||||
<color name="back_gesture_tutorial_subtitle_color">#99000000</color> <!-- 60% black -->
|
||||
<color name="back_gesture_tutorial_title_color">#FF000000</color>
|
||||
<color name="back_gesture_tutorial_action_button_label_color">#FFFFFFFF</color>
|
||||
<color name="back_gesture_tutorial_primary_color">#1A73E8</color> <!-- Blue -->
|
||||
</resources>
|
||||
|
|
Loading…
Reference in New Issue