Skip to content

Commit

Permalink
spotlessApply
Browse files Browse the repository at this point in the history
  • Loading branch information
tumuyan committed Aug 28, 2021
1 parent b39e356 commit 2f947ee
Show file tree
Hide file tree
Showing 16 changed files with 1,085 additions and 1,150 deletions.
18 changes: 13 additions & 5 deletions app/src/main/assets/rime/trime.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -671,7 +671,7 @@ liquid_keyboard:
single_width: 60 #single类型的按键宽度
vertical_gap: 5 #纵向按键间隙
margin_x: 1 #左右按键间隙的1/2
keyboards: [emoji, math, ascii, cn, clipboard, list ,ids , exit, jp, table, symbol, pinyin, grease, rusa, korea, lation, yinbiao, unit, test, exit] #tab列表
keyboards: [emoji, math, ascii, cn, clipboard, list ,ids , exit, jp, table, symbol, pinyin, jp, grease, rusa, korea, lation, yinbiao, unit, exit] #tab列表
exit:
name: 返回
type: NO_KEY
Expand All @@ -686,21 +686,21 @@ liquid_keyboard:
type: SINGLE
name: 数学
keys: "≈=≠≌<>≤≥≡()[]{}-+±×*/÷&∥%‰‱°′″∫∮∯∬∭∰∞∑∧∏∈∵∴⊥∝∨∪•√〒∝∽∈∩∧⊙⌒∥∟∣∂∆∞≌∉∪∨⊕⊿⊥∠∫∬∭" #tab中的按键列表
test:
cn:
type: SINGLE
name: 中文
keys: #keys列表可以使用多种格式混合书写。
-
-
-
-
-
-
- ……
-
-
-
-
- ——
- ···
- ……
- { click: "——" }
- { click: "——", label: "破折号" }
-
Expand Down Expand Up @@ -735,11 +735,14 @@ liquid_keyboard:
keys: "āáǎàōóēéěèǒòīíǐìūúǖǘǚǜǔùêüńňㄚㄛㄜㄧㄨㄩㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙ"
grease:
type: SINGLE
name: 希腊
keys: "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρστυφχψω"
rusa:
name: 俄语
type: SINGLE
keys: "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя"
lation:
name: 拉丁
type: SINGLE
keys: "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞŠŸŒàáâãäåæçèéêëìíîïðñòóõôöøùúûüýþšÿœ"
korea:
Expand All @@ -756,7 +759,12 @@ liquid_keyboard:
keys: ",.?!:;/\\|*-+=^$`'\"^~@#%&()[]{}_"
ids:
type: SINGLE
name: IDS
keys: "⿰⿱⿲⿳⿴⿵⿶⿷⿸⿹⿺⿻"
jp:
type: SINGLE
name: 假名
keys: "あいうえおかがきぎくぐけげこごさざしじすずせぜそぞただちぢつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろわをんアィイウェエオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロワヲン"



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,151 +10,140 @@
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

import com.google.android.flexbox.FlexboxLayoutManager;
import com.osfans.trime.R;
import com.osfans.trime.setup.Config;

import java.util.List;


public class ClipboardAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private final Context myContext;
private List<SimpleKeyBean> list;
private int keyMarginX, keyMarginTop;
private Integer textColor;
private float textSize;
private Typeface textFont;

public ClipboardAdapter(Context context, List<SimpleKeyBean> itemlist) {
myContext = context;
list = itemlist;
}

@Override
public int getItemCount() {
return list.size();
}

public void configStyle(int keyMarginX, int keyMarginTop) {
this.keyMarginX = keyMarginX;
this.keyMarginTop = keyMarginTop;

// 边框尺寸、圆角、字号直接读取主题通用参数。配色优先读取liquidKeyboard专用参数。
Config config = Config.get(myContext);
textColor = config.getLiquidColor("long_text_color");
if (textColor == null)
textColor = config.getLiquidColor("key_text_color");

textSize = config.getFloat("long_text_size");
if (textSize <= 0)
textSize = config.getFloat("label_text_size");

textFont = config.getFont("long_text_font");
}

@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(myContext).inflate(R.layout.simple_key_item, parent, false);
return new ItemViewHolder(view);
}

static class ItemViewHolder extends RecyclerView.ViewHolder {
public ItemViewHolder(View view) {
super(view);

listItemLayout = view.findViewById(R.id.listitem_layout);
mTitle = view.findViewById(R.id.simple_key);
}

LinearLayout listItemLayout;
TextView mTitle;
private final Context myContext;
private List<SimpleKeyBean> list;
private int keyMarginX, keyMarginTop;
private Integer textColor;
private float textSize;
private Typeface textFont;

public ClipboardAdapter(Context context, List<SimpleKeyBean> itemlist) {
myContext = context;
list = itemlist;
}

@Override
public int getItemCount() {
return list.size();
}

public void configStyle(int keyMarginX, int keyMarginTop) {
this.keyMarginX = keyMarginX;
this.keyMarginTop = keyMarginTop;

// 边框尺寸、圆角、字号直接读取主题通用参数。配色优先读取liquidKeyboard专用参数。
Config config = Config.get(myContext);
textColor = config.getLiquidColor("long_text_color");
if (textColor == null) textColor = config.getLiquidColor("key_text_color");

textSize = config.getFloat("long_text_size");
if (textSize <= 0) textSize = config.getFloat("label_text_size");

textFont = config.getFont("long_text_font");
}

@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(myContext).inflate(R.layout.simple_key_item, parent, false);
return new ItemViewHolder(view);
}

static class ItemViewHolder extends RecyclerView.ViewHolder {
public ItemViewHolder(View view) {
super(view);

listItemLayout = view.findViewById(R.id.listitem_layout);
mTitle = view.findViewById(R.id.simple_key);
}

@SuppressLint("ClickableViewAccessibility")
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int index) {

if (viewHolder instanceof ClipboardAdapter.ItemViewHolder) {
SimpleKeyBean searchHistoryBean = list.get(index);
final ClipboardAdapter.ItemViewHolder itemViewHold = ((ClipboardAdapter.ItemViewHolder) viewHolder);
LinearLayout listItemLayout;
TextView mTitle;
}

if (textFont != null)
itemViewHold.mTitle.setTypeface(textFont);
itemViewHold.mTitle.setText(searchHistoryBean.getText());
@SuppressLint("ClickableViewAccessibility")
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int index) {

if (textSize > 0)
itemViewHold.mTitle.setTextSize(textSize);
if (viewHolder instanceof ClipboardAdapter.ItemViewHolder) {
SimpleKeyBean searchHistoryBean = list.get(index);
final ClipboardAdapter.ItemViewHolder itemViewHold =
((ClipboardAdapter.ItemViewHolder) viewHolder);

ViewGroup.LayoutParams lp = itemViewHold.listItemLayout.getLayoutParams();
if (lp instanceof FlexboxLayoutManager.LayoutParams) {
FlexboxLayoutManager.LayoutParams flexboxLp =
(FlexboxLayoutManager.LayoutParams) itemViewHold.listItemLayout.getLayoutParams();
if (textFont != null) itemViewHold.mTitle.setTypeface(textFont);
itemViewHold.mTitle.setText(searchHistoryBean.getText());

itemViewHold.mTitle.setTextColor(textColor);
if (textSize > 0) itemViewHold.mTitle.setTextSize(textSize);

int marginTop = flexboxLp.getMarginTop();
int marginX = flexboxLp.getMarginLeft();
if (keyMarginTop > 0)
marginTop = keyMarginTop;
if (keyMarginX > 0)
marginX = keyMarginX;
ViewGroup.LayoutParams lp = itemViewHold.listItemLayout.getLayoutParams();
if (lp instanceof FlexboxLayoutManager.LayoutParams) {
FlexboxLayoutManager.LayoutParams flexboxLp =
(FlexboxLayoutManager.LayoutParams) itemViewHold.listItemLayout.getLayoutParams();

flexboxLp.setMargins(
marginX, marginTop, marginX, flexboxLp.getMarginBottom()
);

// TODO 设置剪贴板列表样式
// copy SimpleAdapter会造成高度始终为3行无法自适应的效果。

}
itemViewHold.mTitle.setTextColor(textColor);

//如果设置了回调,则设置点击事件
if (mOnItemClickLitener != null) {
itemViewHold.listItemLayout.setOnClickListener(view -> {
int position = itemViewHold.getLayoutPosition();
mOnItemClickLitener.onItemClick(itemViewHold.listItemLayout, position);
});
}
int marginTop = flexboxLp.getMarginTop();
int marginX = flexboxLp.getMarginLeft();
if (keyMarginTop > 0) marginTop = keyMarginTop;
if (keyMarginX > 0) marginX = keyMarginX;

itemViewHold.listItemLayout.setOnLongClickListener(view -> {
int position = itemViewHold.getLayoutPosition();
// TODO 长按删除、编辑剪贴板
// 当文本较长时,目前样式只缩略显示为3行,长按时tosat消息可以预览全文,略有用处。
Toast.makeText(myContext, list.get(position).getText(), Toast.LENGTH_SHORT).show();
return true;
});
flexboxLp.setMargins(marginX, marginTop, marginX, flexboxLp.getMarginBottom());

// TODO 剪贴板列表点击时产生背景变色效果
itemViewHold.listItemLayout.setOnTouchListener((view, motionEvent) -> {
int action = motionEvent.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
// TODO 设置剪贴板列表样式
// copy SimpleAdapter会造成高度始终为3行无法自适应的效果。

case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
}

break;
}
return false;
// 如果设置了回调,则设置点击事件
if (mOnItemClickLitener != null) {
itemViewHold.listItemLayout.setOnClickListener(
view -> {
int position = itemViewHold.getLayoutPosition();
mOnItemClickLitener.onItemClick(itemViewHold.listItemLayout, position);
});

}
}

/*=====================添加OnItemClickListener回调================================*/
public interface OnItemClickLitener {
void onItemClick(View view, int position);
}

itemViewHold.listItemLayout.setOnLongClickListener(
view -> {
int position = itemViewHold.getLayoutPosition();
// TODO 长按删除、编辑剪贴板
// 当文本较长时,目前样式只缩略显示为3行,长按时tosat消息可以预览全文,略有用处。
Toast.makeText(myContext, list.get(position).getText(), Toast.LENGTH_SHORT).show();
return true;
});

// TODO 剪贴板列表点击时产生背景变色效果
itemViewHold.listItemLayout.setOnTouchListener(
(view, motionEvent) -> {
int action = motionEvent.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:

case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
break;
}
return false;
});
}
}

private ClipboardAdapter.OnItemClickLitener mOnItemClickLitener;
/*=====================添加OnItemClickListener回调================================*/
public interface OnItemClickLitener {
void onItemClick(View view, int position);
}

public void setOnItemClickLitener(ClipboardAdapter.OnItemClickLitener mOnItemClickLitener) {
this.mOnItemClickLitener = mOnItemClickLitener;
}
private ClipboardAdapter.OnItemClickLitener mOnItemClickLitener;

}
public void setOnItemClickLitener(ClipboardAdapter.OnItemClickLitener mOnItemClickLitener) {
this.mOnItemClickLitener = mOnItemClickLitener;
}
}
Loading

0 comments on commit 2f947ee

Please sign in to comment.