Added support
Fixed, thanks for the report.
This is great thanks. Will look into it now.
Added support
Fixed, thanks for the report.
This is great thanks. Will look into it now.
Fixed:
Thanks for the report, turns out I forgot to toggle a setting for corners of images. You can grab the amended package at the playground.
Thanks for the fixes. Is the increase in padding intentional?
The left and right padding of the icon? If so I’ve done this to match the new design of Roblox’s topbar.
You can modify these values doing:
:modifyTheme({
{"PaddingLeft", "Size", UDim2.new(0, 9, 1, 0)}, -- These are the default values
{"PaddingRight", "Size", UDim2.new(0, 11, 1, 0)},
})
ignore background noise
I’ve opted for the expandable button’s design as default, but you can easily change to the menu buttons design doing:
Icon.modifyBaseTheme({"Widget", "BorderSize", 0})
This is for the whole theme, is there any way to make it button specific?
I’ve noticed that the theme resets on mouse enter for already selected icons, which can interrupt the visual flow. Could we get a feature to disable this reset on hover for selected icons? This would help maintain a consistent appearance for active icons.
Thanks for the great work!
Video:
my setting:
-- imported Icon module
Icon.modifyBaseTheme({
{ "Widget", "BorderSize", 0 },
{ "IconSpotGradient", "Enabled", false },
{
"IconButton",
"BackgroundColor3",
Color3.fromRGB(245, 245, 245),
"Selected",
},
{
"IconButton",
"BackgroundTransparency",
0.1,
"Selected",
},
{
"IconImage",
"ImageColor3",
Color3.fromRGB(57, 60, 65),
"Selected",
},
{
"IconButton",
"BackgroundColor3",
Color3.fromRGB(0, 0, 0),
"Deselected",
},
{
"IconButton",
"BackgroundTransparency",
0.3,
"Deselected",
},
{
"IconImage",
"Size",
UDim2.fromScale(0.615, 0.615),
"Deselected",
},
{
"IconImage",
"ImageColor3",
Color3.fromRGB(255, 255, 255),
"Deselected",
},
})
local function playButtonSelectedTween(iconButton, iconImage)
TweenService:Create(iconButton, buttonSelectedTweenInfo, {
BackgroundColor3 = Color3.fromRGB(245, 245, 245),
BackgroundTransparency = 0.1,
}):Play()
TweenService:Create(iconImage, buttonUnselectedTweenInfo, {
ImageColor3 = Color3.fromRGB(57, 60, 65),
Size = UDim2.fromScale(0.72, 0.72),
}):Play()
end
local function playButtonUnselectedTween(imageButton, iconImage)
TweenService:Create(imageButton, buttonUnselectedTweenInfo, {
BackgroundColor3 = Color3.fromRGB(0, 0, 0),
BackgroundTransparency = 0.3,
}):Play()
TweenService:Create(iconImage, buttonUnselectedTweenInfo, {
ImageColor3 = Color3.fromRGB(255, 255, 255),
Size = UDim2.fromScale(0.615, 0.615),
}):Play()
end
local function handleToggled(icon, isSelected)
local iconButton = icon.widget:FindFirstChild("IconButton", true)
local iconImage = icon.widget:FindFirstChild("IconImage", true)
if isSelected then
playButtonSelectedTween(iconButton, iconImage)
else
playButtonUnselectedTween(iconButton, iconImage)
end
end
-- icon sets up here
I found a temporary work around by adding a static method to override an Icon instance’s method setState
to solve the problem :
-- imported icon Module here
function Icon.disableHoverOnSelected(icon)
local setState = icon.setState
function icon:setState(incomingStateName, fromInput)
-- Check if the icon is selected and the incoming state is "Viewing" (hover effect)
if self.isSelected and incomingStateName == "Viewing" then
-- If so, do nothing to ignore the hover effect
return
end
-- For all other cases, use the original setState function
setState(self, incomingStateName, fromInput)
end
end
uh oh new topbar is out how much longer until we have v3??
how do i get the v3 of topbarplus
here its prerelease tho
setmenu buttons are not fitting and goes to the button
Thank god you are updating it!
Why you are want to do big text on it? Ofc it would break because the text is too long
icon:modifyTheme({"Widget", "BorderSize", 0})
Thanks will look into this now
Hopefully very soon, all my spare time is going into getting this released
Overflows are disabled while I’m still completing/testing them. Should be out soon at the v3 playground
Wasn’t aware of this- please do let us know when they’re re-enabled!
Ok so your method will work, but I’d highly recommend modifying the theme for deselected and selected states (like you did for most other properties) instead of manually tweening yourself if you’re willing to have instant changing effects.
When an icon is hovered over its state changes to Viewing (hence why your changes are overwritten).
I may provide support for tweening values in the future but for now I only have time to complete the essential features im afraid.