- Notifications
You must be signed in to change notification settings - Fork7
[Moved to MavenCentral] An undo-redo Android library which works with any objects and with an easy implementation. Perfect for drawing, text and photo editing apps.
License
NotificationsYou must be signed in to change notification settings
Muddz/Regret
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Regret is an Android library for apps that wants to implement an undo/redo feature.The library is simple to use and works with all primitive types and objects and is especially suitable for drawing, text and photo editing apps.
Regret is based on theUndoRedoList
- Instantiate
Regret
and add key-value data to it
Regretregret =newRegret(context,this);regret.add(KEY_TEXT,editText.getText().toString());regret.add(KEY_TEXT_COLOR,Color.BLACK);
- Call
regret.undo()
orregret.redo()
. The key-value data will be returned via the listener
@OverridepublicvoidonDo(Stringkey,Objectvalue) {switch (key) {caseKEY_TEXT:editText.setText((CharSequence)value);break;caseKEY_TEXT_COLOR:editText.setTextColor((Integer)value);break; } }
- Update UI related buttons such as Undo/Redo buttons with the following listener
@OverridepublicvoidonCanDo(booleancanUndo,booleancanRedo) {btnUndo.setAlpha(canUndo ?1 :0.4f);btnRedo.setAlpha(canRedo ?1 :0.4f);btnUndo.setEnabled(canUndo);btnRedo.setEnabled(canRedo); }
Add the dependency in yourbuild.gradle
dependencies { implementation'io.github.muddz:regret:1.4.0' }
Copyright 2018 Muddi WalidLicensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the LicenseYou may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.