如何对一个app的一个输入窗口清理重复照片的app输入很多

怎么删除APP界面中输入框原有的内容? _ 按键精灵手机版 - 按键精灵论坛
软件版本:2014.05软件大小:21.6M更新时间:07-04
软件版本:3.3.0软件大小:62.5M更新时间:5-24
软件版本:1.3.3软件大小:29.2M更新时间:06-14
软件版本:1.1.0软件大小:12.3M更新时间:12-29
查看: 3311|回复: 79
[源码分享]
骨灰级按键用户3年以上的按键论坛用户按键精灵开发者5级可通过提升认证等级来升级勋章:rz.anjian.com
问题:怎么删除APP界面中输入框原有的内容,比如账号密码框清空思路:有两种方法,1.双击文字会全选,然后删除;2.激活输入框以后,从最后面把字符一个个删除。代码:第一种:tap x,y
//x和y要替换成输入框中内容的坐标。
复制代码第二种for 次数
KeyPress 67
//这个是后退键的代码
按键精灵安卓版编写脚本零基础课程【视频教程】公众号:3分钟学堂
zhanghoufu
我看看啊啊
我看看啊啊
过大年勋章俩小福娃给大家拜年啦!小红帽对论坛提出良好建议(可向管理员申请)
看一眼,学习一下
ainimanman
按键精灵开发者1级可通过提升认证等级来升级勋章:rz.anjian.com
按键精灵开发者5级可通过提升认证等级来升级勋章:rz.anjian.com按键会员(月)按键会员绑定账号后自动赠送
这个不知道咋办
你的满意是我的目标!联系QQ:
发货俱乐部,感觉看见
haiwei0329
按键会员(年)按键会员绑定账号后自动赠送按键精灵开发者1级可通过提升认证等级来升级勋章:rz.anjian.com
思路是好思路
简单123456
太行山搬书
我来看看学习
我看看啊啊
界面中输入框原有的
Trade丶七哥
鸡兔同笼问题解法
backspace无效啊,怎么办
backspace无效啊,怎么办?
闽网文 (-037号app弹出输入法软件的时候,遮挡住输入框问题的解决方案...
app弹出输入法软件的时候,遮挡住输入框问题的解决方案
前段时维护以前的项目,出现了一个奇怪的问题——软键盘弹出后挡住了输入框,当时在AndroidManifest.xml中对应的Activity配置了:
android:windowSoftInputMode="stateVisible|adjustResize"
android:configChanges="keyboardHidden|orientation|screenSize"
但是没有效果,甚至一部分机型出现了背景图被严重压缩导致变形失真的情况。
然后尝试了在对应的Activity的onCretae()的setContentView()方法前面添加:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
效果依然是差强人意,后来甚至采取了在ScrollView里面布局背景View的思路,这样虽然解决了输入框被遮挡的问题,但是每次用户输入的时候,都要去滑动一下背景View,总感觉体验不佳,违背操作习惯;经过查阅资料和参考网络前辈们的思路,有了以下解决方案:
&LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/llLoginView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FAFAFA"
android:orientation="vertical" &
&ImageView
android:layout_width="match_parent"
android:layout_height="300dp"
android:background="#8fE095"
android:scaleType="centerInside"
android:src="@drawable/logo" /&
&LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="5dp"
android:paddingRight="15dp"
android:paddingLeft="15dp"&
android:id="@+id/etuUerName"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center_vertical"
android:hint="请输入用户名"
android:inputType="text"
android:maxLength="18"
android:singleLine="true"
android:textColor="#808080"
android:background="@null"
android:textSize="18sp" /&
android:id="@+id/etUserPwd"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center_vertical"
android:hint="请输入密码"
android:inputType="numberPassword"
android:maxLength="20"
android:singleLine="true"
android:textColor="#808080"
android:background="@null"
android:textSize="18sp" /&
android:id="@+id/cbLoginCheck"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="记住用户名"
android:textColor="#808080"
android:textSize="15sp"
android:layout_marginLeft="15dp"/&
android:id="@+id/btLogin"
android:layout_width="300dp"
android:layout_height="50dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dp"
android:background="@drawable/login_buton"
android:gravity="center"
android:text="立 即 登 录"
android:textSize="18sp"
android:textColor="#ffffff"
android:textStyle="bold"
android:fontFamily="微软雅黑"/&
&/LinearLayout&
&/LinearLayout&
Activity核心代码:
public class SoftInputModeActivity extends AppCompatActivity {
private Button btL
private LinearLayout llLoginV
private int scrollToPosition = 0;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.getSupportActionBar().hide();
setContentView(R.layout.activity_soft_input_mode);
btLogin = (Button) findViewById(R.id.btLogin);
llLoginView = (LinearLayout) findViewById(R.id.llLoginView );
autoScrollView();
private void autoScrollView() {
llLoginView.getViewTreeObserver()
.addOnGlobalLayoutListener(
new ViewTreeObserver.OnGlobalLayoutListener() {
public void onGlobalLayout() {
computePosition();
private void computePosition(){
Rect rect = new Rect();
//获取root在窗体的可视区域
llLoginView.getWindowVisibleDisplayFrame(rect);
//获取root在窗体的不可视区域高度(被遮挡的高度)
int rootInvisibleHeight = llLoginView.getRootView().getHeight() - rect.
//若不可视区域高度大于150,则键盘显示
if (rootInvisibleHeight & 150) {
//获取scrollToView在窗体的坐标,location[0]为x坐标,location[1]为y坐标
int[] location = new int[2];
btLogin.getLocationInWindow(location);
//计算root滚动高度,使scrollToView在可见区域的底部
int scrollHeight = (location[1] + btLogin.getHeight()) - rect.
//注意:scrollHeight是相对移动距离,而scrollToPosition是绝对移动距离
scrollToPosition += scrollH
} else {//否则键盘隐藏
scrollToPosition = 0;
llLoginView.scrollTo(0, scrollToPosition);
运行效果如下:
软键盘还未弹出时的效果:
软键盘弹出后的效果:
该方法通过了多机型的适配,无异常信息出现。
新增gif动画效果:
android全屏/沉浸式状态栏下,各种键盘挡住输入框解决办法
如何避免输入法弹出时遮挡住按钮或输入框
如何解决输入法遮挡输入框导致操作不便的问题?
解决input获取焦点,弹出输入法之后,input被遮挡的问题
弹出输入法影响app界面的解决
ios上fixed底部输入框被键盘遮挡的简单解决办法
windowSoftInputMode,解决软键盘遮挡住输入框的问题
android 输入法弹出时不能挡住按钮把布局顶上去
在Android app中切换自定义的输入法
没有更多推荐了,自定义的一个App搜索框浅析
模仿风行App实现的一个自定义搜索框类库,实现了监听文本框输入的变化,清空文本框内容,提示列表,热搜列表、自动保存搜索记录等功能。
实现效果如下:
类库的主要代码如下:
CharacterParser:汉字转换为拼音的工具类 CommonAdapter:热搜列表和搜索历史列表的Adapter HintAdapter:提示列表的Adapter NoScrollGridView:自定义的GridView,解决只显示一行的问题 SearchALG:搜索匹配的算法 SearchView:自定义的View,继承LinearLayout,实现了搜索的功能
下面将主要代码粘出来,文档最后会附上下载地址vcD4NCjxwcmUgY2xhc3M9"brush:">
//继承LinearLayout,实现构造方法
public SearchView(Context context, AttributeSet attrs) {
super(context, attrs);
this.context =
LayoutInflater.from(context).inflate(R.layout.search_view, this);
initView();
搜索的历史纪录用sp保存
* 用SP存储保存搜索的历史纪录
if (sp == null) {
sp = context.getSharedPreferences(&config&, Context.MODE_PRIVATE);
外部可通过keepSearchHistory(true/false)方法设置是否保存搜索记录
* 设置是否自动保存搜索记录
* @param isAutoKeep
public void keepSearchHistory(boolean isAutoKeep) {
this.isAutoKeep = isAutoK
//如果没有设为自动保存,则返回
if (!isAutoKeep) {
String history_search_datas = sp.getString(&history_search_datas&, &&);
if (!TextUtils.isEmpty(history_search_datas)) {//不为空
historySearchDatas = new Gson().fromJson(history_search_datas, List.class);
} else {//SP中没有数据,直接返回
if (historyAdapter == null && isAutoKeep) {
ll_search_history.setVisibility(VISIBLE);
historyAdapter = new CommonAdapter(context, historySearchDatas);
gv_search_history.setAdapter(historyAdapter);
外部可设置历史纪录的最大保存个数,默认为6
private int maxHistoryRecordCount = 6;
* 设置最大的历史纪录数,默认为6条
* @param maxHistoryRecordCount
public void setMaxHistoryRecordCount(int maxHistoryRecordCount) {
this.maxHistoryRecordCount = maxHistoryRecordC
在执行搜索时保存记录,最新搜索的记录放在首位,如果该条记录已经有包含在列表中,则移除原来位置的记录并重新保存在首位,当超过maxHistoryRecordCount 的值时,删除最先保存的历史纪录
* 保存历史纪录
* @param text
private void keepSearchRecord(String text) {
if (historySearchDatas == null) {
historySearchDatas = new ArrayList&&(maxHistoryRecordCount);
historySearchDatas.add(0, text);
for (int i = 0; i & historySearchDatas.size(); i++) {
if ((historySearchDatas.get(i).equals(text))) {//判断数据是否已在历史记录中
//如果存在就移除
historySearchDatas.remove(i);
//超过最大值
if (historySearchDatas.size() &= maxHistoryRecordCount) {
//移除最老的一条记录
historySearchDatas.remove(maxHistoryRecordCount - 1);
//新添加的记录放在集合的首位
historySearchDatas.add(0, text);
//保存搜索的历史记录到sp中
sp.edit().putString(&history_search_datas&, new Gson().toJson(historySearchDatas)).commit();
if (historyAdapter == null) {
historyAdapter = new CommonAdapter(context, historySearchDatas);
gv_search_history.setAdapter(historyAdapter);
historyAdapter.updateRecordList(historySearchDatas);
当点击&清空&按钮时,删除历史纪录
* 清空历史纪录
private void clearHistoryRecord() {
if (historySearchDatas != null && historyAdapter != null) {
historySearchDatas.clear();//清空列表
historyAdapter.updateRecordList(historySearchDatas);
ll_search_history.setVisibility(GONE);
//删除SP存储的历史纪录
sp.edit().putString(&history_search_datas&, &&).commit();
外部通过setHotSearchDatas(List hotSearchDatas)传入热门搜索的数据,如不调用此方法,则不显示热搜列表
* 设置热搜的数据集合
* @param hotSearchDatas
public void setHotSearchDatas(List hotSearchDatas) {
this.hotSearchDatas = hotSearchD
if (hotSearchDatas != null && hotSearchDatas.size() & 0) {
ll_search_hot.setVisibility(VISIBLE);
hotAdapter = new CommonAdapter(context, hotSearchDatas);
gv_search_hot.setNumColumns(hotNumColumns);//设置列数
gv_search_hot.setAdapter(hotAdapter);//设置热搜数据
ll_search_hot.setVisibility(GONE);
设置提示列表的最大显示行数和热搜列表的列表
private int maxHintLines = -1;
* 设置提示的最大显示行数,默认显示所有
* @param maxHintLines
public void setMaxHintLines(int maxHintLines) {
this.maxHintLines = maxHintL
private int hotNumColumns = 2;
* 设置热搜数据的显示列数,默认为2列
* 需要在setHotSearchDatas()前设置
* @param hotNumColumns
public void setHotNumColumns(int hotNumColumns) {
this.hotNumColumns = hotNumC
核心方法,添加EditText文本的改变监听,在文本改变后调用自定义的监听的回调方法,在外部实现刷新提示列表的操作
//刷新提示列表的数据
if (onSearchListener != null) {
onSearchListener.onRefreshHintList(s.toString());
et_search_content.addTextChangedListener(new SearchTextChangedListener());
* 监听EditText文本的改变
class SearchTextChangedListener implements TextWatcher {
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
* 当文本改变时调用
* @param s
* @param start
* @param before
* @param count
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (!TextUtils.isEmpty(s.toString().trim())) {//搜索框不为空
ll_search_hot.setVisibility(GONE);
ll_search_history.setVisibility(GONE);
iv_search_clear.setVisibility(VISIBLE);//显示清除搜索框内容的按钮
lv_search_hint.setVisibility(VISIBLE);
iv_search_clear.setVisibility(GONE);
lv_search_hint.setVisibility(GONE);
if (hotSearchDatas != null && hotSearchDatas.size() & 0) {
ll_search_hot.setVisibility(VISIBLE);
if (historyAdapter != null && historySearchDatas.size() & 0 && isAutoKeep) {
ll_search_history.setVisibility(VISIBLE);
//刷新提示列表的数据
if (onSearchListener != null) {
onSearchListener.onRefreshHintList(s.toString());
public void afterTextChanged(Editable s) {
设置自定义监听
* 自定义searchview的监听
public interface OnSearchListener {
* 当进行搜索时回调此方法
* @param searchText 进行搜索的文本
void onSearch(String searchText);
* 当输入框文本变化,需刷新提示的ListView时调用
* @param changedText 改变后的文本
void onRefreshHintList(String changedText);
private OnSearchListener onSearchL
public void setOnSearchListener(OnSearchListener onSearchListener) {
this.onSearchListener = onSearchL
设置返回按钮、搜索按钮、清空搜索框按钮、提示列表Item、热搜列表Item、历史列表Item的点击监听
iv_search_back.setOnClickListener(new SearchOnClickListener());
iv_search_clear.setOnClickListener(new SearchOnClickListener());
tv_search_search.setOnClickListener(new SearchOnClickListener());
* 热搜列表的Item点击监听
gv_search_hot.setOnItemClickListener(new listItemOnClickListener(HOT_ITEM));
* 历史纪录的Item点击监听
gv_search_history.setOnItemClickListener(new listItemOnClickListener(HISTORY_ITEM));
* 提示列表的Item点击监听
lv_search_hint.setOnItemClickListener(new listItemOnClickListener(HINT_ITEM));
* 监听软键盘的搜索按钮
et_search_content.setOnEditorActionListener(new TextView.OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
startSearch(et_search_content.getText().toString());
ll_item_delete.setOnClickListener(new SearchOnClickListener());
点击监听的回调方法
* 点击监听的回调
class SearchOnClickListener implements OnClickListener {
public void onClick(View v) {
int i = v.getId();
if (i == R.id.iv_search_back) {
((Activity) context).finish();
} else if (i == R.id.iv_search_clear) {
et_search_content.setText(null);
} else if (i == R.id.tv_search_search) {
startSearch(et_search_content.getText().toString());
} else if (i == R.id.ll_item_delete) {
clearHistoryRecord();
private static final int HOT_ITEM = 1;
private static final int HINT_ITEM = 2;
private static final int HISTORY_ITEM = 3;
//Item的点击回调
class listItemOnClickListener implements AdapterView.OnItemClickListener {
private List
public listItemOnClickListener(int tag) {
this.tag =
public void onItemClick(AdapterView parent, View view, int position, long id) {
if (tag == HOT_ITEM) {
datas = hotSearchD
} else if (tag == HINT_ITEM) {
datas = hintD
} else if (tag == HISTORY_ITEM) {
datas = historySearchD
String item = datas.get(position);
et_search_content.setText(item);
startSearch(item);
执行搜索的方法和刷新提示列表和热搜列表的状态
* 开始执行搜索方法
* @param text
private void startSearch(String text) {
if (onSearchListener != null) {
onSearchListener.onSearch(text);
refreshListState();
if (isAutoKeep) {
//保存搜索记录
keepSearchRecord(text);
* 刷新热搜和提示列表的状态
private void refreshListState() {
et_search_content.setSelection(et_search_content.getText().length());
lv_search_hint.setVisibility(GONE);
ll_search_hot.setVisibility(GONE);
//隐藏软键盘
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
搜索规则:支持拼音的首字母搜索和全拼音搜索(注意:不能从中间开始搜索)
eg:爱情买卖
可以通过 aqmm匹配
也可以通过aiqingmaimai匹配
但是不支持直接从中间的字符匹配,如qing&、qmm
也不支持首字母和全拼音的混合搜索,如aqmaim
具体的使用方法如下:
- 关联类库
compile project(':searchview_library')
- 在布局文件中定义
private SearchView searchV
searchView = (SearchView) findViewById(R.id.searchView);
- 设置数据
//热搜数据
private List hot_
//提示列表数据
private List hint_
private void initData() {
hot_datas = new ArrayList&&();
hint_datas = new ArrayList&&();
searchALG = new SearchALG(this);
for (int i = 0; i & 10; i++) {
hot_datas.add(& Hot & + i);
//注:若不需要热搜列表,可以不设置
//设置热搜数据显示的列数
searchView.setHotNumColumns(2);
//设置热搜数据
searchView.setHotSearchDatas(hot_datas);
* 设置提示数据的集合
for (int i = 0; i & 10; i++) {
hint_datas.add(&ts&+&安卓学习& + &Android Hint & + i + & 你好&);
* 设置自动保存搜索记录
searchView.keepSearchHistory(true);
//设置提示列表的最大显示列数
searchView.setMaxHintLines(8);
//设置保存搜索记录的个数
searchView.setMaxHistoryRecordCount(6);
- 设置监听
private SearchALG searchALG;
private List changedHintD
searchView.setOnSearchListener(new MyOnSearchListener());
* 设置searview的监听
class MyOnSearchListener implements SearchView.OnSearchListener {
* 搜索回调
* @param searchText 进行搜索的文本
public void onSearch(String searchText) {
if (!TextUtils.isEmpty(searchText)) {
Toast.makeText(MainActivity.this, &完成搜索& + searchText, Toast.LENGTH_SHORT).show();
Toast.makeText(MainActivity.this, &搜索内容不能为空!&, Toast.LENGTH_SHORT).show();
* 刷新提示列表
* @param changedText 改变后的文本
public void onRefreshHintList(String changedText) {
if (changedHintDatas == null) {
changedHintDatas = new ArrayList&&();
changedHintDatas.clear();
if (TextUtils.isEmpty(changedText)) {
for (int i = 0; i & hint_datas.size(); i++) {
String hint_data = hint_datas.get(i);
boolean isAdd = searchALG.isAddToHintList(hint_data, changedText);
if (isAdd) {
changedHintDatas.add(hint_datas.get(i));
* 根据搜索框文本的变化,动态的改变提示的listView
searchView.updateHintList(changedHintDatas);
demo下载地址:APP下载东西的时候老是需要输入2次密码是怎么回事_百度知道
APP下载东西的时候老是需要输入2次密码是怎么回事
APP下载东西的时候老是需要输入2次密码是怎么回事...
APP下载东西的时候老是需要输入2次密码是怎么回事
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
育知同创教育
百度知道合伙人官方认证企业
育知同创教育
1、【专注:Python+人工智能|Java大数据|HTML5培训】。 2、【免费提供名师直播课堂、公开课及视频教程】。 3、【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
每次下载东西时都需要输入密码验证的原因为:1.没有在“设置”里面登陆苹果账号。2.账号的资料没有完善。修正操作为:1、点击设备主界面“设置”。2、打开“iTunes Store 和App Store”。3、点击“ Apple ID“,如果没有登录苹果账号,则需要登录。(已登录苹果账号请忽略) 4、点击账号出现选择的界面,选择“查看Apple ID” 。5、输入密码后选择 “好” 。6、进入到“帐户设置”,点击选“付款信息”,进入后设置银行卡,选择“无”:7、回到前一页面,点选“国家或地区”(中国)。之后便会出现欢迎选购的页面,完成操作
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。你不得不知的Mac实用操作技巧,让你成为Mac系统高级玩家(一)你不得不知的Mac实用操作技巧,让你成为Mac系统高级玩家(一)奥法百家号使用Spotlight进行数学计算、单位转换在调出Spotlight后,可以直接在Spotlight输入框中输入数学公式进行计算,比如1+2-(5-3)*4等等比较复杂的计算,但是一定要记得输入法一定要切换对,如果在中文输入法下输入括号等符号,是计算不出来的。还可以利用Spotlight进行单位转换,比如在Spotlight输入框中输入长度单位20cm,右方会出现所有其他长度的单位换算;还比如输入货币单位$100,会在右方出现一些其他货币转换后的数额。Command + Space调出Siri可以一直按住Command+Space直接调出Siri。Siri支持多种语言(中文、英文、日语等等),可以在Siri选项面板中自主选择。如果想练习外语但苦于没有环境的童鞋可以和Siri对话试试。截屏Mac下的截屏主要有三种方式:截取整个屏幕:Command + Shift + 3,会截取当前整个屏幕的图像,并保存在桌面上截取部分屏幕:Command + Shift + 4,同时按下后会出现一个截屏图像,按下鼠标或者触摸板选择区域,再次松开鼠标或者触摸板后会截取选定区域的截图,并保存在桌面上截取某一个窗口:同时按下Command + Shift + 4后,再按下空格键,之后可以选中某一个窗口进行截图,并保存在桌面上自动隐藏Dock,并动画显示选中图标如果Dock一直显示在桌面上难免会觉得烦人,特别是在打开文件很多的情况下,容易产生误操作。这时可以将System Preferences---Dock---Automatically hide and show the Dock选项勾选上,将Dock自动隐藏,只有当光标移动到Dock底部时,Dock才会显示出来。并且可以调整Magnification参数,设置当光标移动到Dock图标上时的图标大小。自动隐藏Menu Bar有时候觉得Menu Bar一直出现在程序上方会很烦人,特别是在Menu Bar使用不到的情况下。这时可以在System Preferences---General中,选中Automatically hide and show the menu bar。选中后,只有当光标移动到屏幕上方时,才会显示Menu Bar输入特殊字符、Emoji表情符号有的场景需要输入诸如café中的é字母,这时可以按下Option + E之后,再按下E即可输入(注意需要将中文输入法关闭,包括搜狗输入法)。还有更多的特殊符号可以输入,在大多数App的上方Menu Bar中有一个Edit,点击选中最下面的Emoji & Symbols,即可进入所有的特殊符号选项界面(包括Emoji,箭头符号,数学符号等等),选中你中意的符号输入吧。批量更改文件名称有时候需要一起更改很多文件的文件名,如果一个一个更改的话太费时间了。现在可以在Mac下批量更改文件名,选中你想要更改名字的文件,然后右键选中Rename。之后会出现一个选项框,一共有三种模式:Replace:替换模式,如果选中文件的文件名中有很多一样的字符串,想要替换成其他的,可以在这里修改。比如下图中就将选中文件名中的“pic”批量改成“旅游照”。Add Text:增加模式,在选中的文件名后面或者前面批量增加字符串,比如下图中就在所有选中文件名前面批量增加“海南”。增加的位置可以在后面的after name/before name中选择。Format:格式化模式,将选中文件名全部改成固定格式,其中有几种方式可以选择,自己试试吧。下图中是将选中的文件名全部改成”test“,然后后面接上序列号。Split Screen分屏功能如果你想一边看书,一边用Evernote写读书笔记,那分屏功能最适合了。当然,应用场景还有很多,比如你想一边看文档一边作翻译,一边调试一边写代码等等。分屏功能就是在同一窗口中显示两个App界面,方法是左键按住一个程序左上方绿色最大化按钮不动,这时会让你选择当前选中App会出现在哪一边,可以是左边也可以是右边,排好之后再点击另一个App就会出现在另一侧,这样一来,同一屏幕中就同时有了两个App的界面,很方便同步工作。中间有一条分隔线,拖动分割线可以重新划分左右的区域大小,可以让你的注意力更集中在某一方面。给PDF或者图片添加注释当用Mac自带的Preview打开PDF或者图片时,可以很方便的在其中添加注释,并且这些添加的注释遵循了Adobe的Acrobat标准,因此在Mac上添加了注释的PDF或者图片,在Windows上同样也能呈现。添加注释的方法是点击Preview上方的Toolbar按钮,会显示出一系列的功能按钮,可以在文档上绘画形状,箭头对话框等等功能。给任何东西加上快捷键快捷键会节约很多时间,但是有时候不想局限于App自身本来就有的快捷键。当你想在一个App中操作一个功能,但是这个功能没有对应的快捷键时,可以这样做:打开System Preferences,选中Keyboard,然后点击Shortcuts选项栏下的App Shortcuts,再点击左侧的+按钮,即可添加对应程序的功能快捷键。但是必须要清楚对应功能的完整名称,包括大小写及特殊字符。之后就可以Add按钮添加啦。本文由百家号作者上传并发布,百家号仅提供信息发布平台。文章仅代表作者个人观点,不代表百度立场。未经作者许可,不得转载。奥法百家号最近更新:简介:提供最全,最新,最精彩的内容作者最新文章相关文章

我要回帖

更多关于 上海交警app重复交易 的文章

 

随机推荐