Как я могу использовать цвет индикатора для невыбранной вкладки на панели вкладок без использования пользовательской панAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу использовать цвет индикатора для невыбранной вкладки на панели вкладок без использования пользовательской пан

Сообщение Anonymous »

Поэтому мне нужен серый цвет индикатора в невыбранном тексте/вкладке. Я могу сделать это с помощью пользовательской панели вкладок, но можем ли мы сделать это с помощью панели вкладок. Я пытаюсь создать собственный индикатор, но он не работает должным образом.
Я хочу, чтобы индикатор был включен обе вкладки, просто разные для обеих вкладок.
Я пытаюсь применить пользовательский индикатор к свойству индикатора с помощью

Код: Выделить всё

indicator: CustomTabIndicator(
height: 4,
width: MediaQuery.of(context).size.width / 2.9,
selectedIndex: _selectedIndex,
),
this is indiactor i am calling
class CustomTabIndicator extends Decoration {
final double height;
final double width;
final int selectedIndex;

const CustomTabIndicator({
this.height = 4,
this.width = 30,
required this.selectedIndex,
});

@override
BoxPainter createBoxPainter([VoidCallback? onChanged]) {
return _CustomTabIndicatorPainter(
height: height,
width: width,
selectedIndex: selectedIndex,
);
}
}

class _CustomTabIndicatorPainter extends BoxPainter {
final double height;
final double width;
final int selectedIndex;

_CustomTabIndicatorPainter({
required this.height,
required this.width,
required this.selectedIndex,
});

@override
void paint(Canvas canvas, Offset offset, ImageConfiguration configuration) {
final Paint paint = Paint();
final double tabWidth = configuration.size!.width;
paint.color = Colors.grey.withOpacity(0.5);
for (int i = 0; i < 2; i++) {
Rect greyRect = Offset(
offset.dx + (tabWidth * i) + (tabWidth - width) / 2.5,
configuration.size!.height - height - 8,
) &
Size(width, height);
canvas.drawRect(greyRect, paint);
}

paint.color = Colors.orange;
Rect orangeRect = Offset(
offset.dx + (tabWidth * selectedIndex) + (tabWidth - width) / 2.5,
configuration.size!.height - height - 8,
) &
Size(width, height);
canvas.drawRect(orangeRect, paint));
}
}

что-то не так, или мне следует сделать это с пользовательской панелью вкладок

Подробнее здесь: https://stackoverflow.com/questions/789 ... ing-custom
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»