update view groups manager
This commit is contained in:
parent
ad6366e4ec
commit
591a052fde
|
@ -1,4 +1,83 @@
|
|||
package com.tungsten.fcl.control;
|
||||
|
||||
public class EditViewGroupDialog {
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.tungsten.fcl.R;
|
||||
import com.tungsten.fcl.control.data.ControlViewGroup;
|
||||
import com.tungsten.fclcore.util.StringUtils;
|
||||
import com.tungsten.fcllibrary.component.dialog.FCLDialog;
|
||||
import com.tungsten.fcllibrary.component.view.FCLButton;
|
||||
import com.tungsten.fcllibrary.component.view.FCLEditText;
|
||||
import com.tungsten.fcllibrary.component.view.FCLSpinner;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Objects;
|
||||
|
||||
public class EditViewGroupDialog extends FCLDialog implements View.OnClickListener {
|
||||
|
||||
private final GameMenu menu;
|
||||
private final ControlViewGroup viewGroup;
|
||||
private final Callback callback;
|
||||
|
||||
private FCLEditText editText;
|
||||
private FCLSpinner<ControlViewGroup.Visibility> visibilitySpinner;
|
||||
|
||||
private FCLButton positive;
|
||||
private FCLButton negative;
|
||||
|
||||
public interface Callback {
|
||||
void onPositive(String name, ControlViewGroup.Visibility visibility);
|
||||
}
|
||||
|
||||
public EditViewGroupDialog(@NonNull Context context, GameMenu menu, ControlViewGroup viewGroup, Callback callback) {
|
||||
super(context);
|
||||
this.menu = menu;
|
||||
this.viewGroup = viewGroup;
|
||||
this.callback = callback;
|
||||
setCancelable(false);
|
||||
setContentView(R.layout.dialog_edit_view_group);
|
||||
|
||||
editText = findViewById(R.id.name);
|
||||
visibilitySpinner = findViewById(R.id.visibility);
|
||||
ArrayList<ControlViewGroup.Visibility> visibilities = new ArrayList<>();
|
||||
visibilities.add(ControlViewGroup.Visibility.VISIBLE);
|
||||
visibilities.add(ControlViewGroup.Visibility.INVISIBLE);
|
||||
visibilitySpinner.setDataList(visibilities);
|
||||
ArrayList<String> visibilityString = new ArrayList<>();
|
||||
visibilityString.add(getContext().getString(R.string.menu_control_view_group_visible));
|
||||
visibilityString.add(getContext().getString(R.string.menu_control_view_group_invisible));
|
||||
ArrayAdapter<String> visibilityAdapter = new ArrayAdapter<>(getContext(), R.layout.item_spinner, visibilityString);
|
||||
visibilityAdapter.setDropDownViewResource(R.layout.item_spinner_dropdown);
|
||||
visibilitySpinner.setAdapter(visibilityAdapter);
|
||||
|
||||
editText.setText(viewGroup.getName());
|
||||
visibilitySpinner.setSelection(viewGroup.getVisibility() == ControlViewGroup.Visibility.VISIBLE ? 0 : 1);
|
||||
|
||||
positive = findViewById(R.id.positive);
|
||||
negative = findViewById(R.id.negative);
|
||||
positive.setOnClickListener(this);
|
||||
negative.setOnClickListener(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (v == positive) {
|
||||
if (menu.getController().viewGroups().stream().anyMatch(it -> it.getName().equals(Objects.requireNonNull(editText.getText()).toString()) && !viewGroup.getName().equals(editText.getText().toString()))) {
|
||||
Toast.makeText(getContext(), getContext().getString(R.string.menu_control_view_group_exist), Toast.LENGTH_SHORT).show();
|
||||
} else if (StringUtils.isBlank(Objects.requireNonNull(editText.getText()).toString())) {
|
||||
Toast.makeText(getContext(), getContext().getString(R.string.menu_control_view_group_empty), Toast.LENGTH_SHORT).show();
|
||||
} else {
|
||||
dismiss();
|
||||
callback.onPositive(editText.getText().toString(), visibilitySpinner.getSelectedItemPosition() == 0 ? ControlViewGroup.Visibility.VISIBLE : ControlViewGroup.Visibility.INVISIBLE);
|
||||
}
|
||||
}
|
||||
if (v == negative) {
|
||||
dismiss();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -254,7 +254,11 @@ public class GameMenu implements MenuCallback, View.OnClickListener {
|
|||
FXUtils.bindSelection(currentControllerSpinner, controllerProperty);
|
||||
|
||||
refreshViewGroupList(currentViewGroupSpinner);
|
||||
controllerProperty.addListener(invalidate -> refreshViewGroupList(currentViewGroupSpinner));
|
||||
getController().addListener(i -> refreshViewGroupList(currentViewGroupSpinner));
|
||||
controllerProperty.addListener(invalidate -> {
|
||||
refreshViewGroupList(currentViewGroupSpinner);
|
||||
getController().addListener(i -> refreshViewGroupList(currentViewGroupSpinner));
|
||||
});
|
||||
|
||||
editLayout.visibilityProperty().bind(editModeProperty);
|
||||
|
||||
|
@ -552,7 +556,8 @@ public class GameMenu implements MenuCallback, View.OnClickListener {
|
|||
@Override
|
||||
public void onClick(View v) {
|
||||
if (v == manageViewGroups) {
|
||||
|
||||
ViewGroupDialog dialog = new ViewGroupDialog(getActivity(), this);
|
||||
dialog.show();
|
||||
}
|
||||
if (v == addButton) {
|
||||
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
package com.tungsten.fcl.control;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.tungsten.fcl.R;
|
||||
import com.tungsten.fcl.control.data.ControlViewGroup;
|
||||
import com.tungsten.fclcore.fakefx.collections.ObservableList;
|
||||
import com.tungsten.fcllibrary.component.FCLAdapter;
|
||||
import com.tungsten.fcllibrary.component.dialog.FCLAlertDialog;
|
||||
import com.tungsten.fcllibrary.component.view.FCLImageButton;
|
||||
import com.tungsten.fcllibrary.component.view.FCLTextView;
|
||||
|
||||
public class ViewGroupAdapter extends FCLAdapter {
|
||||
|
||||
private final ObservableList<ControlViewGroup> list;
|
||||
private final GameMenu menu;
|
||||
|
||||
public ViewGroupAdapter(Context context, ObservableList<ControlViewGroup> list, GameMenu menu) {
|
||||
super(context);
|
||||
this.list = list;
|
||||
this.menu = menu;
|
||||
}
|
||||
|
||||
static class ViewHolder {
|
||||
FCLTextView name;
|
||||
FCLImageButton edit;
|
||||
FCLImageButton delete;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getItem(int i) {
|
||||
return list.get(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getItemId(int i) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return list.size();
|
||||
}
|
||||
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
@Override
|
||||
public View getView(int i, View view, ViewGroup viewGroup) {
|
||||
final ViewHolder viewHolder;
|
||||
if (view == null) {
|
||||
viewHolder = new ViewHolder();
|
||||
view = LayoutInflater.from(getContext()).inflate(R.layout.item_view_group, null);
|
||||
viewHolder.name = view.findViewById(R.id.name);
|
||||
viewHolder.edit = view.findViewById(R.id.edit);
|
||||
viewHolder.delete = view.findViewById(R.id.delete);
|
||||
view.setTag(viewHolder);
|
||||
}
|
||||
else {
|
||||
viewHolder = (ViewHolder) view.getTag();
|
||||
}
|
||||
ControlViewGroup group = list.get(i);
|
||||
viewHolder.name.setText(group.getName());
|
||||
viewHolder.edit.setOnClickListener(v -> {
|
||||
EditViewGroupDialog dialog = new EditViewGroupDialog(getContext(), menu, group, (n, vi) -> {
|
||||
group.setName(n);
|
||||
group.setVisibility(vi);
|
||||
menu.getController().updateViewGroup(group);
|
||||
notifyDataSetChanged();
|
||||
});
|
||||
dialog.show();
|
||||
});
|
||||
viewHolder.delete.setOnClickListener(v -> {
|
||||
FCLAlertDialog.Builder builder = new FCLAlertDialog.Builder(getContext());
|
||||
builder.setCancelable(false);
|
||||
builder.setAlertLevel(FCLAlertDialog.AlertLevel.INFO);
|
||||
builder.setMessage(getContext().getString(R.string.menu_control_view_group_delete));
|
||||
builder.setPositiveButton(() -> {
|
||||
menu.getController().removeViewGroup(group);
|
||||
notifyDataSetChanged();
|
||||
});
|
||||
builder.setNegativeButton(null);
|
||||
builder.create().show();
|
||||
});
|
||||
return view;
|
||||
}
|
||||
}
|
|
@ -1,4 +1,61 @@
|
|||
package com.tungsten.fcl.control;
|
||||
|
||||
public class ViewGroupDialog {
|
||||
import android.content.Context;
|
||||
import android.view.View;
|
||||
import android.widget.ListView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.tungsten.fcl.R;
|
||||
import com.tungsten.fcl.control.data.ControlViewGroup;
|
||||
import com.tungsten.fcllibrary.component.dialog.FCLDialog;
|
||||
import com.tungsten.fcllibrary.component.view.FCLButton;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class ViewGroupDialog extends FCLDialog implements View.OnClickListener {
|
||||
|
||||
private final GameMenu gameMenu;
|
||||
|
||||
private FCLButton addViewGroup;
|
||||
private FCLButton positive;
|
||||
|
||||
private ListView listView;
|
||||
|
||||
public ViewGroupDialog(@NonNull Context context, GameMenu gameMenu) {
|
||||
super(context);
|
||||
this.gameMenu = gameMenu;
|
||||
setCancelable(false);
|
||||
setContentView(R.layout.dialog_manage_view_groups);
|
||||
|
||||
addViewGroup = findViewById(R.id.add_view_group);
|
||||
positive = findViewById(R.id.positive);
|
||||
addViewGroup.setOnClickListener(this);
|
||||
positive.setOnClickListener(this);
|
||||
|
||||
listView = findViewById(R.id.list);
|
||||
refreshList();
|
||||
}
|
||||
|
||||
private void refreshList() {
|
||||
ViewGroupAdapter adapter = new ViewGroupAdapter(getContext(), gameMenu.getController().viewGroups(), gameMenu);
|
||||
listView.setAdapter(adapter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (v == addViewGroup) {
|
||||
EditViewGroupDialog dialog = new EditViewGroupDialog(getContext(), gameMenu, new ControlViewGroup(UUID.randomUUID().toString()), (name, visibility) -> {
|
||||
ControlViewGroup viewGroup = new ControlViewGroup(UUID.randomUUID().toString());
|
||||
viewGroup.setName(name);
|
||||
viewGroup.setVisibility(visibility);
|
||||
gameMenu.getController().addViewGroup(viewGroup);
|
||||
refreshList();
|
||||
});
|
||||
dialog.show();
|
||||
}
|
||||
if (v == positive) {
|
||||
dismiss();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -174,6 +174,17 @@ public class Controller implements Cloneable, Observable {
|
|||
}
|
||||
}
|
||||
|
||||
public void updateViewGroup(ControlViewGroup viewGroup) {
|
||||
for (ControlViewGroup group : viewGroups()) {
|
||||
if (viewGroup.getId().equals(group.getId())) {
|
||||
group.setName(viewGroup.getName());
|
||||
group.setVisibility(viewGroup.getVisibility());
|
||||
group.setViewData(viewGroup.getViewData());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public String toString() {
|
||||
|
@ -192,6 +203,7 @@ public class Controller implements Cloneable, Observable {
|
|||
author.addListener(listener);
|
||||
description.addListener(listener);
|
||||
viewGroups.addListener(listener);
|
||||
viewGroups.forEach(it -> it.addListener(listener));
|
||||
controllerVersion.addListener(listener);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
<vector
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24"
|
||||
android:viewportWidth="24"
|
||||
android:width="24dp"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M20,5L4,5c-1.1,0 -1.99,0.9 -1.99,2L2,17c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,7c0,-1.1 -0.9,-2 -2,-2zM11,8h2v2h-2L11,8zM11,11h2v2h-2v-2zM8,8h2v2L8,10L8,8zM8,11h2v2L8,13v-2zM7,13L5,13v-2h2v2zM7,10L5,10L5,8h2v2zM16,17L8,17v-2h8v2zM16,13h-2v-2h2v2zM16,10h-2L14,8h2v2zM19,13h-2v-2h2v2zM19,10h-2L17,8h2v2z"/>
|
||||
</vector>
|
|
@ -1,6 +1,99 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="400dp"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="10dp"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:id="@+id/title"
|
||||
android:singleLine="true"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/menu_control_view_group_add"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.5"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLLinearLayout
|
||||
android:layout_marginTop="10dp"
|
||||
android:id="@+id/name_layout"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:layout_gravity="center"
|
||||
android:text="@string/menu_control_view_group_name"/>
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLEditText
|
||||
android:singleLine="true"
|
||||
android:textSize="12sp"
|
||||
android:layout_width="200dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:id="@+id/name"/>
|
||||
|
||||
</com.tungsten.fcllibrary.component.view.FCLLinearLayout>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLLinearLayout
|
||||
android:layout_marginTop="10dp"
|
||||
android:id="@+id/visibility_layout"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/name_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
android:layout_gravity="center"
|
||||
android:text="@string/menu_control_view_group_visibility"/>
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLSpinner
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:id="@+id/visibility"/>
|
||||
|
||||
</com.tungsten.fcllibrary.component.view.FCLLinearLayout>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLButton
|
||||
android:id="@+id/positive"
|
||||
android:text="@string/dialog_positive"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/visibility_layout"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLButton
|
||||
android:id="@+id/negative"
|
||||
android:text="@string/dialog_negative"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/visibility_layout"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -1,6 +1,45 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="400dp"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="10dp"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:id="@+id/title"
|
||||
android:singleLine="true"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/menu_controls_groups"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintHorizontal_bias="0.5"/>
|
||||
|
||||
<ListView
|
||||
android:id="@+id/list"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="5dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
android:layout_height="140dp"
|
||||
app:dividerWidth="0dp"
|
||||
app:layout_constraintTop_toBottomOf="@+id/title"
|
||||
app:layout_constraintBottom_toTopOf="@+id/positive"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLButton
|
||||
android:id="@+id/add_view_group"
|
||||
android:text="@string/menu_control_view_group_add"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLButton
|
||||
android:id="@+id/positive"
|
||||
android:text="@string/dialog_positive"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -0,0 +1,51 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<com.tungsten.fcllibrary.component.view.FCLLinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLLinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="10dp"
|
||||
android:background="@drawable/bg_item"
|
||||
android:orientation="horizontal"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginBottom="5dp">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLImageView
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:src="@drawable/ic_baseline_keyboard_24"
|
||||
android:layout_gravity="center"
|
||||
android:tint="@android:color/darker_gray"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:layout_marginStart="10dp"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_gravity="center"
|
||||
android:singleLine="true"
|
||||
android:id="@+id/name"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLImageButton
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"
|
||||
android:id="@+id/edit"
|
||||
android:src="@drawable/ic_baseline_edit_24"
|
||||
android:tint="@android:color/darker_gray"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLImageButton
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"
|
||||
android:id="@+id/delete"
|
||||
android:src="@drawable/ic_baseline_delete_24"
|
||||
android:tint="@android:color/darker_gray"/>
|
||||
|
||||
</com.tungsten.fcllibrary.component.view.FCLLinearLayout>
|
||||
|
||||
</com.tungsten.fcllibrary.component.view.FCLLinearLayout>
|
|
@ -207,6 +207,14 @@
|
|||
<string name="menu_control_set">设置</string>
|
||||
<string name="menu_control_style">样式设置</string>
|
||||
<string name="menu_control_style_add">添加样式</string>
|
||||
<string name="menu_control_view_group_add">添加控件组</string>
|
||||
<string name="menu_control_view_group_delete">你确定要删除该控件组吗?</string>
|
||||
<string name="menu_control_view_group_name">名称</string>
|
||||
<string name="menu_control_view_group_visibility">初始可见性</string>
|
||||
<string name="menu_control_view_group_exist">该控件组已存在</string>
|
||||
<string name="menu_control_view_group_empty">请填写控件组名称</string>
|
||||
<string name="menu_control_view_group_visible">显示</string>
|
||||
<string name="menu_control_view_group_invisible">隐藏</string>
|
||||
|
||||
<string name="menu_settings">设置</string>
|
||||
<string name="menu_settings_debug">调试</string>
|
||||
|
|
|
@ -226,6 +226,14 @@
|
|||
<string name="menu_control_set">Set</string>
|
||||
<string name="menu_control_style">Style Setting</string>
|
||||
<string name="menu_control_style_add">Add Style</string>
|
||||
<string name="menu_control_view_group_add">Add View Group</string>
|
||||
<string name="menu_control_view_group_delete">Are you sure to delete this view group?</string>
|
||||
<string name="menu_control_view_group_name">Name</string>
|
||||
<string name="menu_control_view_group_visibility">Initial Visibility</string>
|
||||
<string name="menu_control_view_group_exist">The view group already exist</string>
|
||||
<string name="menu_control_view_group_empty">Please fill the view group name first</string>
|
||||
<string name="menu_control_view_group_visible">Visible</string>
|
||||
<string name="menu_control_view_group_invisible">Invisible</string>
|
||||
|
||||
<string name="menu_settings">Settings</string>
|
||||
<string name="menu_settings_debug">Debug</string>
|
||||
|
|
Loading…
Reference in New Issue