Skip to content

Commit 0a6b325

Browse files
committed
Feat[UI]: Better seekbar
1 parent c92ca25 commit 0a6b325

File tree

15 files changed

+354
-199
lines changed

15 files changed

+354
-199
lines changed

FCL/src/main/java/com/tungsten/fcl/control/AddButtonStyleDialog.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import com.tungsten.fcl.R;
1919
import com.tungsten.fcl.control.data.ButtonStyles;
2020
import com.tungsten.fcl.control.data.ControlButtonStyle;
21-
import com.tungsten.fcl.ui.manage.EditDialog;
21+
import com.tungsten.fcllibrary.component.dialog.EditDialog;
2222
import com.tungsten.fclcore.fakefx.beans.binding.Bindings;
2323
import com.tungsten.fclcore.fakefx.beans.property.IntegerProperty;
2424
import com.tungsten.fclcore.util.StringUtils;

FCL/src/main/java/com/tungsten/fcl/control/AddDirectionStyleDialog.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,11 @@
1212

1313
import com.tungsten.fcl.R;
1414
import com.tungsten.fcl.control.data.BaseInfoData;
15-
import com.tungsten.fcl.control.data.ButtonStyles;
1615
import com.tungsten.fcl.control.data.ControlButtonStyle;
1716
import com.tungsten.fcl.control.data.ControlDirectionStyle;
1817
import com.tungsten.fcl.control.data.DirectionStyles;
1918
import com.tungsten.fcl.control.view.ControlDirection;
20-
import com.tungsten.fcl.ui.manage.EditDialog;
19+
import com.tungsten.fcllibrary.component.dialog.EditDialog;
2120
import com.tungsten.fcl.util.FXUtils;
2221
import com.tungsten.fclcore.fakefx.beans.binding.Bindings;
2322
import com.tungsten.fclcore.fakefx.beans.property.IntegerProperty;

FCL/src/main/java/com/tungsten/fcl/control/EditViewDialog.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@
1919
import com.tungsten.fcl.control.data.ControlViewGroup;
2020
import com.tungsten.fcl.control.data.CustomControl;
2121
import com.tungsten.fcl.control.data.DirectionEventData;
22-
import com.tungsten.fcl.control.view.ControlButton;
23-
import com.tungsten.fcl.ui.manage.EditDialog;
22+
import com.tungsten.fcllibrary.component.dialog.EditDialog;
2423
import com.tungsten.fcl.util.AndroidUtils;
2524
import com.tungsten.fcl.util.FXUtils;
2625
import com.tungsten.fclcore.fakefx.beans.InvalidationListener;

FCL/src/main/java/com/tungsten/fcl/control/GameMenu.java

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
import com.tungsten.fcllibrary.component.view.FCLButton;
6666
import com.tungsten.fcllibrary.component.view.FCLImageView;
6767
import com.tungsten.fcllibrary.component.view.FCLLinearLayout;
68+
import com.tungsten.fcllibrary.component.view.FCLNumberSeekBar;
6869
import com.tungsten.fcllibrary.component.view.FCLProgressBar;
6970
import com.tungsten.fcllibrary.component.view.FCLSeekBar;
7071
import com.tungsten.fcllibrary.component.view.FCLSpinner;
@@ -283,12 +284,10 @@ private void initLeftMenu() {
283284
FCLSwitch hideAllViews = findViewById(R.id.hide_all);
284285
FCLSwitch autoFit = findViewById(R.id.auto_fit);
285286

286-
FCLSeekBar autoFitDist = findViewById(R.id.auto_fit_dist);
287-
FCLTextView autoFitText = findViewById(R.id.auto_fit_text);
287+
FCLNumberSeekBar autoFitDist = findViewById(R.id.auto_fit_dist);
288288

289289
FCLSpinner<Controller> currentControllerSpinner = findViewById(R.id.current_controller);
290290
FCLSpinner<ControlViewGroup> currentViewGroupSpinner = findViewById(R.id.current_view_group);
291-
autoFitText.stringProperty().bind(Bindings.createStringBinding(() -> menuSetting.getAutoFitDistProperty().get() + " dp", menuSetting.getAutoFitDistProperty()));
292291

293292
FCLLinearLayout editLayout = findViewById(R.id.edit_layout);
294293

@@ -355,23 +354,14 @@ private void initRightMenu() {
355354
FCLSpinner<GestureMode> gestureModeSpinner = findViewById(R.id.gesture_mode_spinner);
356355
FCLSpinner<MouseMoveMode> mouseMoveModeSpinner = findViewById(R.id.mouse_mode_spinner);
357356

358-
FCLSeekBar itemBarScaleSeekbar = findViewById(R.id.item_bar_scale);
359-
FCLSeekBar windowScaleSeekbar = findViewById(R.id.window_scale);
360-
FCLSeekBar cursorOffsetSeekbar = findViewById(R.id.cursor_offset);
361-
FCLSeekBar mouseSensitivitySeekbar = findViewById(R.id.mouse_sensitivity);
362-
FCLSeekBar mouseSizeSeekbar = findViewById(R.id.mouse_size);
363-
FCLSeekBar gamepadDeadzoneSeekbar = findViewById(R.id.gamepad_deadzone_size);
364-
FCLSeekBar gamepadAimZoneSeekbar = findViewById(R.id.gamepad_aimzone_size);
365-
FCLSeekBar gyroSensitivitySeekbar = findViewById(R.id.gyro_sensitivity);
366-
367-
FCLTextView itemBarScaleText = findViewById(R.id.item_bar_scale_text);
368-
FCLTextView windowScaleText = findViewById(R.id.window_scale_text);
369-
FCLTextView cursorOffsetText = findViewById(R.id.cursor_offset_text);
370-
FCLTextView mouseSensitivityText = findViewById(R.id.mouse_sensitivity_text);
371-
FCLTextView mouseSizeText = findViewById(R.id.mouse_size_text);
372-
FCLTextView gamepadDeadzoneText = findViewById(R.id.gamepad_deadzone_text);
373-
FCLTextView gamepadAimZoneText = findViewById(R.id.gamepad_aimzone_text);
374-
FCLTextView gyroSensitivityText = findViewById(R.id.gyro_sensitivity_text);
357+
FCLNumberSeekBar itemBarScaleSeekbar = findViewById(R.id.item_bar_scale);
358+
FCLNumberSeekBar windowScaleSeekbar = findViewById(R.id.window_scale);
359+
FCLNumberSeekBar cursorOffsetSeekbar = findViewById(R.id.cursor_offset);
360+
FCLNumberSeekBar mouseSensitivitySeekbar = findViewById(R.id.mouse_sensitivity);
361+
FCLNumberSeekBar mouseSizeSeekbar = findViewById(R.id.mouse_size);
362+
FCLNumberSeekBar gamepadDeadzoneSeekbar = findViewById(R.id.gamepad_deadzone_size);
363+
FCLNumberSeekBar gamepadAimZoneSeekbar = findViewById(R.id.gamepad_aimzone_size);
364+
FCLNumberSeekBar gyroSensitivitySeekbar = findViewById(R.id.gyro_sensitivity);
375365

376366
manageQuickInput = findViewById(R.id.open_quick_input);
377367
sendKeycode = findViewById(R.id.open_send_key);
@@ -532,15 +522,6 @@ protected void invalidated() {
532522
gyroSensitivitySeekbar.addProgressListener();
533523
gyroSensitivitySeekbar.progressProperty().bindBidirectional(menuSetting.getGyroscopeSensitivityProperty());
534524

535-
itemBarScaleText.stringProperty().bind(Bindings.createStringBinding(() -> String.valueOf(itemBarScaleProperty.get()), itemBarScaleProperty));
536-
windowScaleText.stringProperty().bind(Bindings.createStringBinding(() -> windowScaleProperty.get() + " %", windowScaleProperty));
537-
cursorOffsetText.stringProperty().bind(Bindings.createStringBinding(() -> String.valueOf(cursorOffsetProperty.get()), cursorOffsetProperty));
538-
mouseSensitivityText.stringProperty().bind(Bindings.createStringBinding(() -> mouseSensitivityProperty.get() + " %", mouseSensitivityProperty));
539-
mouseSizeText.stringProperty().bind(Bindings.createStringBinding(() -> menuSetting.getMouseSizeProperty().get() + " dp", menuSetting.getMouseSizeProperty()));
540-
gamepadDeadzoneText.stringProperty().bind(Bindings.createStringBinding(() -> gamepadDeadzoneProperty.get() + " %", gamepadDeadzoneProperty));
541-
gamepadAimZoneText.stringProperty().bind(Bindings.createStringBinding(() -> gamepadAimZoneProperty.get() + " %", gamepadAimZoneProperty));
542-
gyroSensitivityText.stringProperty().bind(Bindings.createStringBinding(() -> menuSetting.getGyroscopeSensitivityProperty().get() + "", menuSetting.getGyroscopeSensitivityProperty()));
543-
544525
manageQuickInput.setOnClickListener(this);
545526
sendKeycode.setOnClickListener(this);
546527
gamepadResetMapper.setOnClickListener(this);

FCL/src/main/java/com/tungsten/fcl/ui/manage/ModpackInfoPage.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import com.tungsten.fcllibrary.component.view.FCLEditText;
3737
import com.tungsten.fcllibrary.component.view.FCLImageButton;
3838
import com.tungsten.fcllibrary.component.view.FCLLinearLayout;
39+
import com.tungsten.fcllibrary.component.view.FCLNumberSeekBar;
3940
import com.tungsten.fcllibrary.component.view.FCLSeekBar;
4041
import com.tungsten.fcllibrary.component.view.FCLSpinner;
4142
import com.tungsten.fcllibrary.component.view.FCLSwitch;
@@ -122,8 +123,7 @@ public void onStart() {
122123
FCLEditText jvmArgsText = findViewById(R.id.jvm_args);
123124
FCLEditText originUrlText = findViewById(R.id.origin_url);
124125
FCLEditText mcbbsText = findViewById(R.id.mcbbs);
125-
FCLSeekBar memorySeekbar = findViewById(R.id.memory);
126-
FCLTextView memoryText = findViewById(R.id.memory_text);
126+
FCLNumberSeekBar memorySeekbar = findViewById(R.id.memory);
127127
FCLEditText descText = findViewById(R.id.desc);
128128
FCLSpinner<String> serverSpinner = findViewById(R.id.server);
129129
FCLSwitch forceUpdateSwitch = findViewById(R.id.force_update);
@@ -170,7 +170,6 @@ public void onStart() {
170170
memorySeekbar.setProgress(minMemory.get());
171171
memorySeekbar.addProgressListener();
172172
memorySeekbar.progressProperty().bindBidirectional(minMemory);
173-
memoryText.stringProperty().bind(Bindings.createStringBinding(() -> minMemory.get() + " MB", minMemory));
174173
}
175174
memoryLayout.setVisibility(options.isRequireMinMemory() ? View.VISIBLE : View.GONE);
176175
splitF.setVisibility(options.isRequireMinMemory() ? View.VISIBLE : View.GONE);

FCL/src/main/java/com/tungsten/fcl/ui/manage/VersionSettingPage.java

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,15 @@
4141
import com.tungsten.fcllibrary.browser.FileBrowser;
4242
import com.tungsten.fcllibrary.browser.options.LibMode;
4343
import com.tungsten.fcllibrary.browser.options.SelectionMode;
44+
import com.tungsten.fcllibrary.component.dialog.EditDialog;
4445
import com.tungsten.fcllibrary.component.dialog.FCLAlertDialog;
4546
import com.tungsten.fcllibrary.component.ui.FCLCommonPage;
4647
import com.tungsten.fcllibrary.component.view.FCLCheckBox;
4748
import com.tungsten.fcllibrary.component.view.FCLEditText;
4849
import com.tungsten.fcllibrary.component.view.FCLImageButton;
4950
import com.tungsten.fcllibrary.component.view.FCLImageView;
5051
import com.tungsten.fcllibrary.component.view.FCLLinearLayout;
52+
import com.tungsten.fcllibrary.component.view.FCLNumberSeekBar;
5153
import com.tungsten.fcllibrary.component.view.FCLProgressBar;
5254
import com.tungsten.fcllibrary.component.view.FCLSeekBar;
5355
import com.tungsten.fcllibrary.component.view.FCLSpinner;
@@ -79,8 +81,8 @@ public class VersionSettingPage extends FCLCommonPage implements ManageUI.Versio
7981

8082
private FCLImageView iconView;
8183

82-
private FCLSeekBar allocateSeekbar;
83-
private FCLSeekBar scaleFactorSeekbar;
84+
private FCLNumberSeekBar allocateSeekbar;
85+
private FCLNumberSeekBar scaleFactorSeekbar;
8486

8587
private FCLSwitch isolateWorkingDirSwitch;
8688
private FCLSwitch beGestureSwitch;
@@ -145,10 +147,7 @@ private void create() {
145147

146148
javaSpinner = findViewById(R.id.edit_java);
147149

148-
FCLTextView scaleFactorText = findViewById(R.id.scale_factor_text);
149-
150150
scaleFactorSeekbar.addProgressListener();
151-
scaleFactorText.stringProperty().bind(Bindings.createStringBinding(() -> (int) (lastVersionSetting.getScaleFactor() * 100) + " %", scaleFactorSeekbar.percentProgressProperty()));
152151

153152
// add spinner data
154153
ArrayList<String> javaVersionDataList = new ArrayList<>();
@@ -192,7 +191,6 @@ private void create() {
192191
FCLProgressBar memoryBar = findViewById(R.id.memory_bar);
193192

194193
FCLTextView memoryStateText = findViewById(R.id.memory_state);
195-
FCLTextView memoryText = findViewById(R.id.memory_text);
196194
FCLTextView memoryInfoText = findViewById(R.id.memory_info_text);
197195
FCLTextView memoryAllocateText = findViewById(R.id.memory_allocate_text);
198196

@@ -210,17 +208,6 @@ private void create() {
210208
allocateSeekbar.addProgressListener();
211209
allocateSeekbar.progressProperty().bindBidirectional(maxMemory);
212210

213-
memoryText.stringProperty().bind(Bindings.createStringBinding(() -> allocateSeekbar.progressProperty().intValue() + " MB", allocateSeekbar.progressProperty()));
214-
memoryText.setOnClickListener(v -> {
215-
EditDialog dialog = new EditDialog(getContext(), s -> {
216-
if (s.matches("\\d+(\\.\\d+)?$")) {
217-
allocateSeekbar.setProgress(Integer.parseInt(s));
218-
}
219-
});
220-
dialog.getEditText().setInputType(EditorInfo.TYPE_NUMBER_FLAG_DECIMAL);
221-
dialog.show();
222-
});
223-
224211
memoryBar.firstProgressProperty().bind(usedMemory);
225212
memoryBar.secondProgressProperty().bind(Bindings.createIntegerBinding(() -> {
226213
int allocate = (int) (FCLGameRepository.getAllocatedMemory(maxMemory.intValue() * 1024L * 1024L, MemoryUtils.getFreeDeviceMemory(getContext()) * 1024L * 1024L, chkAutoAllocate.isChecked()) / 1024. / 1024);

FCL/src/main/res/layout/menu_left.xml

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -184,24 +184,16 @@
184184
android:text="@string/menu_controls_auto_fit_dist"
185185
android:textSize="12sp"/>
186186

187-
<com.tungsten.fcllibrary.component.view.FCLTextView
188-
app:auto_text_tint="true"
189-
android:singleLine="true"
190-
android:id="@+id/auto_fit_text"
191-
android:layout_width="wrap_content"
192-
android:layout_height="wrap_content"
193-
android:layout_gravity="center"
194-
android:textSize="12sp"/>
195-
196187
</LinearLayout>
197188

198-
<com.tungsten.fcllibrary.component.view.FCLSeekBar
189+
<com.tungsten.fcllibrary.component.view.FCLNumberSeekBar
199190
android:layout_marginTop="10dp"
200191
android:layout_marginBottom="5dp"
201192
android:max="10"
202193
android:min="0"
203194
android:layout_width="match_parent"
204195
android:layout_height="wrap_content"
196+
app:suffix="dp"
205197
android:id="@+id/auto_fit_dist"/>
206198

207199
<com.tungsten.fcllibrary.component.view.FCLLinearLayout

0 commit comments

Comments
 (0)