progress bar does not change color (Load)
Mostra commenti meno recenti
Hi all,
so i wanna make a load progress bar for my app, (see joined picture). I found a code on matlab : https://www.mathworks.com/matlabcentral/discussions/highlights/132277-new-in-r2020a-app-button-animation-truecolor-images
Unfortunately, the blue color does not show. anyone can tell what i've done wrong please ? thank you
% Change button name to "Processing"
app.ProgressButton.Text = 'Processing...';
% Put text on top of icon
app.ProgressButton.IconAlignment = 'left';
% Create waitbar with same color as button
wbar = permute(repmat(app.ProgressButton.BackgroundColor,150,1,2),[1,3,2]);
% Black frame around waitbar
wbar([1,end],:,:) = 0;
wbar(:,[1,end],:) = 0;
% Load the empty waitbar to the button
app.ProgressButton.Icon = wbar;
% Loop through something and update waitbar
n = 10;
for i = 1:n
% Update image data (royalblue)
currentProg = min(round((size(wbar,2)-2)*(i/n)),size(wbar,2)-2);
app.ProgressButton.Icon(2:end-1, 2:currentProg+1, 1) = 0.25391;
app.ProgressButton.Icon(2:end-1, 2:currentProg+1, 2) = 0.41016;
app.ProgressButton.Icon(2:end-1, 2:currentProg+1, 3) = 0.87891;
% Pause to slow down animation
pause(1)
end
% remove waitbar
app.ProgressButton.Icon = '';
% Change button name
app.ProgressButton.Text = 'Done !';

3 Commenti
Adam Danz
il 20 Set 2020
The use of TrueColor to mimick a progress bar within a UI button requires Matlab r2020a or later. If you're using r2020a or later, I wonder what you're doing differently from the code shared in the link you provided.
Khalala Mamouri
il 20 Set 2020
Adam Danz
il 20 Set 2020
"... it is necessary to add a small delay..."
Yes, that's why the original demo you pointed to contains "pause(.3)" within the loop that updates the pseudo-progressbar. Sometimes the processes the user is waiting for much slower than 300ms so there's no need for a pause. However, you'll still likely need a drawnow so the image updates on each iteration.
You can probably replace those pause commands in your code with drawnow.
Risposta accettata
Più risposte (0)
Categorie
Scopri di più su App Building in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!