ViewSwitcherBar#

class ViewSwitcherBar(**properties: Any)#

Superclasses: Widget, InitiallyUnowned, Object

Implemented Interfaces: Accessible, Buildable, ConstraintTarget

A view switcher action bar.

https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/view-switcher-bar.png

An action bar letting you switch between multiple views contained in a ViewStack, via an ViewSwitcher. It is designed to be put at the bottom of a window and to be revealed only on really narrow windows, e.g. on mobile phones. It can’t be revealed if there are less than two pages.

AdwViewSwitcherBar is intended to be used together with AdwViewSwitcher in a header bar, and a Breakpoint showing the view switcher bar on narrow sizes, while removing the view switcher from the header bar, as follows:

<object class="AdwWindow">
  <child>
    <object class="AdwBreakpoint">
      <condition>max-width: 550sp</condition>
      <setter object="switcher_bar" property="reveal">True</setter>
      <setter object="header_bar" property="title-widget"/>
    </object>
  </child>
  <property name="content">
    <object class="AdwToolbarView">
      <child type="top">
        <object class="AdwHeaderBar" id="header_bar">
          <property name="title-widget">
            <object class="AdwViewSwitcher">
              <property name="stack">stack</property>
              <property name="policy">wide</property>
            </object>
          </property>
        </object>
      </child>
      <property name="content">
        <object class="AdwViewStack" id="stack"/>
      </property>
      <child type="bottom">
        <object class="AdwViewSwitcherBar" id="switcher_bar">
          <property name="stack">stack</property>
        </object>
      </child>
    </object>
  </property>
</object>

It’s recommended to set policy to ADW_VIEW_SWITCHER_POLICY_WIDE in this case.

You may have to adjust the breakpoint condition for your specific pages.

CSS nodes#

AdwViewSwitcherBar has a single CSS node with name``viewswitcherbar``.

Constructors#

class ViewSwitcherBar
classmethod new() Widget#

Creates a new AdwViewSwitcherBar.

Methods#

class ViewSwitcherBar
get_reveal() bool#

Gets whether self should be revealed or hidden.

get_stack() ViewStack | None#

Gets the stack controlled by self.

set_reveal(reveal: bool) None#

Sets whether self should be revealed or hidden.

Parameters:

reveal – whether to reveal self

set_stack(stack: ViewStack | None = None) None#

Sets the stack controlled by self.

Parameters:

stack – a stack

Properties#

class ViewSwitcherBar
props.reveal: bool#

The type of the None singleton.

props.stack: ViewStack#

The type of the None singleton.