Градиент от панели действий к вкладкам

Я часами гуглил, пытаясь найти ответ на этот, казалось бы, очевидный вопрос, но я даже не могу найти другого примера, чтобы кто-то пытался это сделать. Возможно ли, чтобы градиент простирался от панели действий Android до вкладок, как показано на макете ниже.

введите здесь описание изображения

Создать градиент на панели действий или на вкладках несложно, но непрерывный градиент в настоящее время ускользает от меня.

по запросу вот градиент xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:angle="135"
        android:endColor="@color/colorPrimary"
        android:startColor="@color/colorAccent" />
</shape>

Я построил такие вкладки, но я не включил здесь никаких попыток градиента, поскольку все, что я пробовал, настолько ужасно, что не стоит публиковать. Ближе всего я подошёл к воссозданию градиента, но это ерунда

<?xml version="1.0" encoding="utf-8"?>
<menu
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:myapp="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/item_menu_ok" 
          android:icon="@drawable/ic_action_ok"
          android:title="@string/ok" 
          myapp:showAsAction="ifRoom"></item>
    <item android:id="@+id/item_menu_cancel" 
          android:icon="@drawable/ic_action_cancel"
          android:title="@string/cancel" 
          myapp:showAsAction="ifRoom"></item>
   <item android:id="@+id/item_menu_third" 
          android:icon="@drawable/ic_action_third"
          android:title="@string/third" 
          myapp:showAsAction="ifRoom"></item>
</menu>

person EnduroDave    schedule 06.06.2017    source источник
comment
выложи свой xml пожалуйста   -  person Jonathan Aste    schedule 06.06.2017
comment
Опубликуйте XML-файл активности, где вы объявляете панель действий/панель инструментов и вкладку   -  person Jonathan Aste    schedule 06.06.2017


Ответы (1)


Вы можете отказаться от ActionBar в пользу более современной ToolBar.

Это позволит вам сделать TabLayout дочерним элементом представления панели инструментов, сделать его прозрачным и установить градиент в качестве фона для панели инструментов.

Другие причины перехода на использование панели инструментов обсуждаются в разделе "Должны ли мы заменить действие Панель по панели инструментов?"

person vadkou    schedule 06.06.2017
comment
Хороший ответ. Я не обращал особого внимания на библиотеку поддержки, но, думаю, стоило бы. - person EnduroDave; 06.06.2017
comment
Не нужно делать его дочерним элементом панели инструментов, оставьте его дочерним элементом макета панели приложений и установите градиент в макете панели приложений вместо макета панели инструментов. - person smj; 10.04.2018