android ListView各种效果实现总结,持续更新...
一、ListView圆角:重写ListView的onInterceptTouchEvent方法,通过pointToPosition(x,y)方法判断当前点击位置所对应的项,有三种情况:分别是第一项、最后一项、中间项;其实第一种情况又分为两种情况:列表总共只有一项和列表不止一项;参照下边的代码即可理解;
复制代码
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
int x = (int) ev.getX();
int y = (int) ev.getY();
int itemnum = pointToPosition(x, y);
if (itemnum == AdapterView.INVALID_POSITION)
break;
else{
if(itemnum==0){ // 选择项为1
if(itemnum==(getAdapter().getCount()-1)){// 列表只有一项
setSelector(R.drawable.app_list_corner_round);
}else{ // 列表不止一项
setSelector(R.drawable.app_list_corner_round_top);
}
}else if(itemnum==(getAdapter().getCount()-1)) // 选择项为最后一项
setSelector(R.drawable.app_list_corner_round_bottom);
else{
setSelector(R.drawable.app_list_corner_shape);
}
}
break;
case MotionEvent.ACTION_UP:
break;
}
复制代码
二、选中项高亮显示,实现ListView选中项高亮显示有两种方法;
1、查看ListView的方法setSelection(int index),看样子好像是,但实际试了之后以现不行,既然不行,那就用一个比较笨的方法:自定义adapter,在adapter的getView方法里面设置背景;然后在ListView的onItemClick回调中向adapter传入点击的项,即可设置选中项高亮状态;
复制代码
public void setSelectedposition(int selectedposition) {
this.selectedposition = selectedposition;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = inflater.inflate(R.layout.item, null);
if (selectedposition == position) {
v.setBackgroundColor(Color.parseColor("#36adcf"));
} else {
v.setBackgroundColor(Color.TRANSPARENT);
}
return v;
}
复制代码
2、有没有更简单的方法?第一种方法看着觉得有点怪怪的,有点歪门邪道的感觉;另一种的方法是通过selector方法实现;定义一个drawable文件,里面包含一个选择状态:state_activated,然后将这个drawable指定为ListView的item的背景;关于这个状态具体含意不再多说,参见官方api;
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/adcf" android:state_activated="true"></item>
<item android:drawable="@android:color/transparent"/>
</selector>
下面是在代码中的实现(部分代码):
listview.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
getListView().setItemChecked(position, true);
}
注:上面的方法是ListActivity的方法,此方法对应OnItemClickListener接口中的方法;
三、ListView列表项延迟加载
我们都知道当ListView上面滚动时,会执行adapter的getView方法,但问题出来了,有时候为了节约资源及解决效率问题,并不需要滚动到某一项就开始加载数据,而是希望滚动停止,或者说滚动速度低于某一个值时才获取数据,下面讨论的就是这种情况下的处理:
1、为ListView添加OnScrollListener滚动监听器,此监听器可以获取当前滚动状态及可视条目;
复制代码
public int first = 0; // 第一条可视项目
public int visi = 0; // 可视条目总数
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
first = firstVisibleItem;
visi = visibleItemCount;
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case OnScrollListener.SCROLL_STATE_IDLE: // 滚动完成
mBusy = false;
int first = view.getFirstVisiblePosition();
for (int i = 0; i < visi; i++) { // 设置所有可视条目Tag为null,条目将会自动加载数据
TextView t = (TextView) view.getChildAt(i);
if (t.getTag() != null) {
t.setText(mStrings[first + i]);
t.setTag(null);
}
}break;
case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL: // 正在滚动(手指未离开屏幕)
mBusy = true;
break;
case OnScrollListener.SCROLL_STATE_FLING: // 正在滚动(手指已离开屏幕)
mBusy = true;
break;
}
}
复制代码
在Adapter中根据mBusy状态,判断是否立即加载数据,重写getView方法;
复制代码
public View getView(int position, View convertView, ViewGroup parent) {
TextView text;
if (convertView == null) {
text = (TextView) mInflater.inflate(android.R.layout.simple_list_item_1, parent, false);
} else {
text = (TextView) convertView;
}
if (!mBusy) {
text.setText(mStrings[position]);
// Tag为空代表当前View的数据已经加载完成
text.setTag(null);
} else {
text.setText("Loading...");
// 非空的View代表当前View仍然需要加载更多的数据
text.setTag("cc");
}
return text;
}
}
复制代码
四、类似聊天记录,自动将新添加的项从底部添加并显示到可见区域,主要是两个属性的设置,如下:
复制代码
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:stackFromBottom="true" 自动显示到列表最底部
android:transcriptMode="normal" /> 设置当显示大量的条目时,希望将最新的item显示到可见区域
复制代码
顺便记录一下输入框点击Enter事件,OnKeyListener(参照下面的代码,可实现输入新消息按下Enter并将新消息添加到列表底部);
复制代码
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode) {
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
// TODO
return true;
}
}
return false;
}
复制代码
五、设置部分条目不可用:通常情况下,一个列表中的所有条目都可以使用,也即可以响应点击事件和有点击的效果,但有的情况下,并不希望所有的条目都这样,就可以自定义Adapter,通过条目的相关属性判断是否可用,(disEnabled状态下,默认的分割条不显示)
复制代码
@Override
public boolean areAllItemsEnabled() {
return false;
}
@Override
public boolean isEnabled(int position) {
// TODO 通过一定的判断条件设置position条目可用
}
复制代码
六、ListView点击条目展开条目显示更多信息:这种情况也是比较常见的,最多见的应该是评论,一个评论列表,不同的人,评论的内容长度不同,如果全部显示完,就会显示得参差不齐,但又不能只显示了部分,此时就得添加点击条目查看更多的功能了;
简单说下思路:自定义一个View,继承自FrameLayout,里面有两个TextView,一个是单行的(singleLine),另外一个是多行的(wrap_content);公开一个方法设置多行的TextView的可见状态为VISIBLE或者GONE,在ListView的ItemClick回调中设置当列表条目未展开时,点击条目展开条目,也即显示更多信息;当列表是展开的,点击收起条目;并且通知数据源改变:notifyDataSetChanged;
七、在二中说了选中单项的高亮显示,现在来看看多选的高亮显示,同样,多选我这里也知道两种方法;
1、同二中第2种方法,定义一个selector,里面包含一个选择状态state_activited,将此drawable设置为ListView的selector或者是直接设置为条目的背景;此种模式类似于4.0之后部分手机短信列表的长按之后进行选择条目然后进行操作删除的效果;
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL); // 设置选择模式
lv.setMultiChoiceModeListener(new ModeCallback());
复制代码
private class ModeCallback implements ListView.MultiChoiceModeListener {
public boolean onCreateActionMode(ActionMode mode, Menu menu) { // 在ActionBar上创建按钮
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.list_select_menu, menu);
mode.setTitle("Select Items");
return true;
}
public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
return true;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
// TODO 点击某一个按钮的回调
}
return true;
}
public void onDestroyActionMode(ActionMode mode) {
}
public void onItemCheckedStateChanged(ActionMode mode, int position,
long id, boolean checked) { // 选择项改变回调事件,通过此方法获取选择了哪些项
final int checkedCount = getListView().getCheckedItemCount();
}
}
}
复制代码
2、第二种方法比较简单些,适用范围更加广泛,上一种方法在2.x的版本上运行会出错,因为MultiChoiceMode是高版本上的新的一个接口;对于低版本的手机,下面这种方法更加适用(Item的背景或者selector同上);
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
如果需要获取此种方法的选择项,就需要在OnItemClickListener的回调方法中进行判断,即每点击一项,改变当前checked的值,最后再获取结果;
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚敐澶婄闁挎繂鎲涢幘缁樼厱闁靛牆鎳庨顓㈡煛鐏炲墽娲存い銏℃礋閺佹劙宕卞▎娆戝枠闂傚倷绶氶埀顒傚仜閼活垶宕㈤幖浣圭厽闁硅櫣鍋涢々顒勬煙楠炲灝鐏╅柍瑙勫灩閳ь剨缍嗘禍鐐核囬弶娆炬富闁靛牆妫欑亸闈涒攽椤栵絽骞栭崡閬嶆煕濡ゅ啫浜归柡鈧禒瀣厽闁归偊鍓涢幗鐘电磽瀹ュ棗鐏撮柡灞剧☉椤繈顢楁径濠傚閻庡厜鍋撻柨婵嗘噽娴犮垽鏌嶇拠鏌ュ弰妤犵偛顑呴埞鎴﹀箛椤撗勶紖闂傚倸鍊烽懗鍫曪綖鐎n喖绀嬮柛顭戝亞閺嗭箓姊绘担鐟扳枙闁衡偓闁秴鍨傞柛顐f礀妗呴梺鍛婃处閸ㄦ壆绮婚幎鑺ョ厱闁斥晛鍟ㄦ禒锕€顭跨憴鍕缂佽鲸鎹囧畷鎺戔枎閹搭厽袦婵$偑鍊х€靛矂宕归崼鏇樷偓浣割潩妫版繃鏅i梺缁樕戣ぐ鍐倶婵犲啰绡€闁汇垽娼ф牎闂佺厧缍婄粻鏍х暦濮椻偓閸┾偓妞ゆ巻鍋撴い顏勫暣婵″爼宕卞Ο鐑樻闂備礁鎽滄慨鐢稿箲閸パ呮殾闁靛繈鍊曠粻鐟懊归敐鍛辅闁归攱妞藉铏规兜閸涱厺姹楅梺绋款儐閻╊垰鐣峰┑鍠棃宕ㄩ鎯у箰闂備礁鎲℃笟妤呭窗濮樺灈鈧牗绺介崨濠勫帗濡炪倕绻愰幊蹇曚焊閿旇姤鍙忓┑鐘插鐢盯鏌熷畡鐗堝殗鐎规洏鍔戝Λ鍐ㄢ槈濮樻瘷銊ヮ渻閵堝啫鐏柣妤冨Т閻g兘宕¢悙鈺傤潔濠碘槅鍨抽埛鍫ュ船閸洘鈷掑ù锝呮憸缁夌儤淇婇銉︾《缂侇喖鐗婄粭鐔煎焵椤掑嫬绠栭柨鐔哄Т閻忔娊鏌熸0浣藉厡闁哥偟鏁婚弻锝夋偐閻戞﹩浠╅柣蹇撶箞閸旀垵鐣峰┑瀣亜闁稿繗鍋愰崢鎼佹⒑缁洘顫婇柛姗€绠栭幃楣冩偨閸涘﹦鍘搁柣蹇曞仜婢ц棄煤閺夋垟鏀介柨娑樺閸樻潙鈹戦鐟颁壕闂備焦鏋奸弲娑㈠疮閹峰被浜归柛銉墯閳锋帒霉閿濆牊顏犻悽顖涚〒缁辨帞鈧綆浜炵粻鑽も偓瑙勬礃濞叉牠鎮鹃悜钘夌倞妞ゎ厽鍨剁紞妤呮⒒娴g瓔娼愮€规洘锕㈤、姘愁槾濠㈣娲熷畷妤呮嚃閳哄喚鍟庨梻浣虹《閸撴繈鏁嬫繛锝呮祩閸ㄥ爼寮诲☉銏″€烽柤纰卞墰妤旀繝娈垮枛閿曘儱顪冩禒瀣摕闁告稑鐡ㄩ崐鐑芥煠閼圭増纭炬い蹇e幗缁绘繈鍩涢埀顒備沪閼恒儳褰庨梻浣告惈閺堫剟鎯勯鐐茬畺闁靛繈鍊栭悡銉╂倵閿濆簼绨锋繛锝庡枟娣囧﹪鎮欓鍕ㄥ亾閹达箑鍨傞柛婵嗗珋濞戙垹绀冩い鏃囥€€閸嬫挻鎷呴崜鍙夊缓闂侀€炲苯澧存鐐插暣閸╋繝宕担瑙勬珖婵$偑鍊ら崑鎺楀储婵傛潌澶婎潩閼哥鎷洪梺鐓庮潟閸婃洟寮搁幋锔界厽闁绘梹娼欓崝銈夋煃瑜滈崜姘跺礄瑜版帒鍌ㄩ柛鎾楀啫鐏婇梺鍓插亖閸庤京绮堥崘鈹夸簻闊洦鎸婚ˉ鐘绘煥濞戞瑧鐭掗柡宀嬬秮閹晠宕f径灞告晬闂佽绻愮换鎴︽偡閿曞倸鐤鹃柛顐f礃閺呮粎绱掑☉姗嗗剱妞ゆ梹妫冨铏圭磼濡搫顫嶉悷婊勬緲閸熸潙顕i幎鑺ユ櫜濠㈣泛顑囬崢閬嶆⒑閸愬弶鎯堟い鎴濇川瀵囧焵椤掑嫭鍊甸悷娆忓绾炬悂鏌涢弮鈧崹鍧楀Υ娴g硶妲堟慨妤€妫欓崓闈涱渻閵堝棗绗掗柛濠冩倐椤㈡碍娼忛妸褏鐦堢紒鐐緲椤﹁京澹曢崸妤佺厱閻庯綆鍋勯悘瀵糕偓瑙勬礃閸旀瑥顕f禒瀣垫晣闁绘劖顔栭崬鍫曟⒒娴h櫣甯涢柛鏃撶畵瀹曟粌顫濈捄铏圭厬闂婎偄娲︾粙鎺楁偂閿濆鍙撻柛銉╊棑閸掓澘霉濠婂懎浠﹂柕鍥у閸╋繝宕掑⿰鍐ㄧ哗闂備礁鎼張顒€煤濠靛牏涓嶆繛鎴欏灩閸楁娊鏌i幇顓炲闁烩晩鍨跺濠氭晸閻樿尙鍔﹀銈嗗笂閼冲爼銆呴悜鑺ュ€甸柨婵嗛娴滅偤鏌涘Ο鍦煓婵﹥妞介幃鐑藉箥椤旇姤鍠栫紓鍌欐祰椤曆囧疮椤愶富鏁婇煫鍥ㄦ尨閺€浠嬫倵閿濆骸浜為柛姗€浜跺娲捶椤撶偛濡洪梺鍝勮閸旀垿濡撮崒鐐村殐闁冲搫鍟伴敍婊呯磽閸屾瑧鍔嶅畝锝呯仢鐓ら悗鐢电《閸嬫挸鈻撻崹顔界亪闂佺粯鐗曢妶鎼佹偘椤旈敮鍋撻敐搴濈按闁衡偓娴犲鐓欓梺顓ㄧ細缁ㄧ晫鐥悙顒€鍔ら柍瑙勫灦楠炲﹪鏌涙繝鍐炬畷闁逛究鍔戦幃婊堟寠婢跺矉绱辨繝鐢靛仦閸ㄥ墎鍠婂鍛殾闁告瑥顦伴崣蹇斾繆閻愰鍤欏ù婊堢畺閹鈻撻崹顔界彯闂佺ǹ顑呴敃顏堟偘椤斿槈鐔兼嚃閳哄喛绱叉繝纰樻閸ㄥ磭鍒掗鐑嗘晜闁绘柨鍚嬮埛鎺懨归敐鍫澬撶痪顓炵埣閺屾盯鏁愯箛鏇犳殼濡ょ姷鍋涚换姗€寮幘缁樻櫢闁跨噦鎷�/QQ 1602007闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚敐澶婄闁挎繂鎲涢幘缁樼厱濠电姴鍊归崑銉╂煛鐏炶濮傜€殿噮鍣e畷濂告偄閸涘⿴鍞堕梻鍌欒兌鏋い鎴濇楠炴劙宕滆閸ㄦ繃銇勯幘璺轰汗婵℃彃鐗婃穱濠囶敍濠垫劕娈┑鐐叉啚閸ャ劉鎷哄┑鐐跺蔼椤曆囩嵁濡ゅ懏鐓熼柣鏂垮级濞呭﹦鈧鍠栭…鐑藉箖閵忋倕宸濆┑鐘插鑲栨繝寰锋澘鈧呭緤娴犲鐤い鏍剱閺佷胶鈧箍鍎遍ˇ浼村煕閹达附鐓欓柤娴嬫櫅娴犳粓鏌嶈閸撴岸鎮ч悩鑼殾婵犻潧顑呴崘鈧銈嗘尵閸婏綁鏁冮崒娑氬幈闂佸搫娲㈤崝宀勬倶閻樼粯鐓曢柟鑸妼娴滄儳鈹戦敍鍕杭闁稿﹥鐗犲畷婵嬫晝閳ь剟鈥﹂崸妤€鐒垫い鎺戝€荤壕鍏笺亜閺冨洤浜归柛鈺嬬稻閹便劍绻濋崒娑欏創闁绘挶鍊濋幃褰掑炊閵娿儳绁风紓浣哄Т閹碱偊鈥旈崘顔嘉ч柛鎰╁妼椤牓姊虹紒姗嗘畷闁圭懓娲幃浼搭敊閽樺绐為悗鍏夊亾闁逞屽墴閹苯鈻庨幇顔绢啎闂佺硶鍓濋敋闁告柣鍊濋弻鐔碱敊閽樺浠哥紓浣虹帛缁诲牊鎱ㄩ埀顒勬煥濠靛棙顥犻柕鍡樺姍濮婃椽骞愭惔銏⑩敍缂備胶濮甸幐鎼佹偩閻戣棄顫呴柣妯烘濡炰粙銆侀弮鍫濆窛妞ゅ繐鎳庨褰掓⒒閸屾瑧顦﹂柟璇х磿閹广垽宕掑┃鎯т壕婵ḿ鍘ф晶瀵糕偓娈垮枛閸熷潡鍩㈡惔銊ョ閻庣數枪楠炴绻濆閿嬫緲閳ь剚鍔欏畷鎴﹀箻缂堢姷绠氬銈嗗姧缁插潡骞婇崶鈹惧亾鐟欏嫭绀冩繛鑼枛閵嗕線寮撮姀鈩冩珕闁荤喐鐟辩徊鍓р偓姘虫閳规垿鎮欓懜闈涙锭缂備焦褰冨ḿ锟犵嵁婵犲洤绠绘繛鑼帛閺咁亜鈹戦悩璇у伐闁硅櫕鍔楁竟鏇熺附閸涘﹤浠梺鎼炲劘閸斿瞼寰婃繝姘厓鐟滄粓宕滃▎鎾村€舵繝闈涱儐閸嬧晠鏌i幋锝嗩棄缂佺姵鐩弻鈩冨緞婵犲嫪铏庣紓浣瑰姈缁嬫帞鎹㈠┑瀣仺闂傚牊鍒€閵忋倖鍊垫慨姗嗗墮濡插鎮¢妶澶嬬厵闂傚倸顕崝宥夋煃闁垮鐏撮柟顔肩秺瀹曞爼鏁愰崒姘閻庤娲栧ú鐘诲磻閹惧绡€婵﹩鍘鹃崢鎾绘偡濠婂嫮鐭掔€规洘绮撻幃銏$附婢跺﹥顓块梻渚€娼чオ鍨繆閸ヮ兙鈧懘鎮滈懞銉モ偓鐢告煥濠靛棝顎楀ù婊呭仱閺屾稑螣閹稿寒妫勯梺瀹狀潐閸ㄥ潡宕洪妷鈺佸耿婵°倕鍟╁ǎ顔界節閻㈤潧浠滄い锔芥緲鐓ゆ繝濠傜墛閸ゅ秹姊洪鈧粔鎾煥閵堝棔绻嗛柕鍫濆閸忓矂鏌涘鈧禍璺何涢崨鎼晝闁靛繆鈧剚妲遍梻浣筋潐閻℃洟顢氳閺佸啴濮€閳ユ剚鍤ら柣搴㈢⊕宀e潡宕㈤鍫熲拺闁硅偐鍋涢崝鈧梺鍛婂姇瑜扮偟妲愰弮鈧穱濠囧Χ閸ヮ灝銉╂煕鐎n偆鈽夐悡銈嗐亜閹绢垰浜鹃柍褜鍏涚欢姘嚕椤曗偓瀹曠厧鈹戦崱姘e亾閸喒鏀介柣鎰级椤ョ偤鏌涢妸褎鏆柣娑卞櫍瀹曞崬鈽夊▎灞惧闂備胶枪閺堫剟鎮疯钘濋柨鏇炲€归悡娆戠棯閺夊灝鑸瑰ù婊€鍗抽弻鐔碱敍濮橆厽鎷遍悗鍨緲鐎氼喗绂掗敃鍌氱畾鐟滃秶鑺遍妷锔剧瘈闁汇垽娼ч埢鍫熺箾娴e啿鍚樺☉妯锋闁靛繒濮垫潏鍫ユ⒑閹稿孩绀€闁稿﹤缍婇幃鈥斥枎閹惧鍘介梺鐟邦嚟娴兼繈顢旈崼鐔封偓鍓佲偓骞垮劚椤︿即鎮¢弴鐔翠簻闁逛即娼ф禍妤呮⒑椤撗冪仭妞ゃ劊鍎甸幃娆戔偓鐢登归埅褰掓煠閹稿骸濮堥柕鍥у楠炴帡宕卞鎯ь棜闂傚倷娴囬褍霉濮橆厾顩叉い蹇撶墕閽冪喖鏌ㄩ悢鍝勑㈡鐐灪缁绘盯宕卞Δ鍐吅缂備緡鍠栭悥鐓庮潖閾忓厜鍋撻崷顓烆€屾繛鍏煎姍閺屾盯濡搁妷锕€浠村Δ鐘靛仜閸燁偊鍩㈡惔銈囩杸闁挎繂鎳忓▍濠冧繆閻愵亜鈧牠寮婚妸鈺佽Е閻庯綆鍣弫濠勨偓骞垮劚閹冲寮ㄦ禒瀣厽婵☆垵顕ф晶顖炴煕閻旈绠婚柡灞剧洴閹晠骞囨担鍦澒婵°倗濮烽崑鐐哄礉濞嗘挾宓侀幖娣妽鐎电姴顭跨捄铏圭伇闁哄棭鍋婇弻锝夋偄閸濄儳鐓佸┑鈽嗗亜閸熸挳骞冩导鎼晩闁搞垹顦遍崰鏍х暦濡ゅ懏鍋傞幖杈剧到闁伴亶姊婚崒娆愮グ闁稿鍔欓崺娑㈠醇閵夈儳顦┑鐐村灟閸ㄧ懓效閹绘崡褰掓偂鎼达絾鎲奸梺鎶芥敱鐢帡婀侀梺鎸庣箓閹冲繘宕悙鐑樼厱闁绘柨鎼禒锔剧磼缂佹ḿ銆掗柟椋庡Ь椤︽挳鏌i敐鍥ㄦ毄闁逞屽墲椤煤閺嶎偆绀婂┑鐘叉搐閽冪喖鏌涢埄鍐炬闁告艾顑夐弻娑樷槈閸楃偟浼堢紓渚€浜舵禍璺侯潖缂佹ɑ濯撮柛娑橈工閺嗗牆鈹戦悙棰濆殝缂佺姵鎸搁悾鐤亹閹烘挾鍔堕悗骞垮劚濡绂嶅Δ鍛拺闁圭ǹ娴风粻鎾淬亜閿曞倷鎲剧€规洩缍侀獮妯肩磼濡厧骞堥梻渚€娼ч¨鈧紒鑼跺Г娣囧﹥绂掔€n偄鈧爼鐓崶褔顎楃€规挸妫濋弻鐔碱敊閼测晝楔濡ょ姷鍋涘ú顓炵暦濠婂嫭濯撮柧蹇氼潐椤矂姊虹拠鎻掝劉妞ゆ梹鐗犲畷鎶筋敋閳ь剙鐣烽幋鐐电瘈闁稿本绮嶅▓鐐節闂堟稑鈧粯鐏欓柛鐑嗗灦濮婃椽骞愭惔銏╂⒖濡炪値鍋勯ˇ閬嶅焵椤掍椒浜㈡俊顐㈠閸╃偤骞嬮敂钘夆偓鐑芥倵濞戞顏堟瀹ュ鈷戠紒顖涙礃濞呭懘鏌涢悢鍛婄稇闁伙絿鍏橀獮瀣晝閳ь剛绮绘繝姘€甸梻鍫熺⊕閹插憡銇勯弮鈧ú妯兼崲濞戞瑦缍囬柛鎾楀啫鐓傞梻浣告憸閸犲骸岣块垾宕囨殾闁靛鍎欓悢鐑樺仒闁斥晛鍠氬ḿ鏃€绻濈喊妯活潑闁搞劏浜崚鎺戭吋閸涘倹鐩畷姗€濡歌濞堟儳顪冮妶鍛闁瑰啿绻戦崚濠囧箻椤旇棄浠┑鐐叉缁绘劙顢旈鍫熺厽婵犻潧娴傚▓婊勬叏婵犲偆鐓肩€规洘甯掗埢搴ㄥ箣椤撶啘婊堟⒒娴g瓔娼愮紒浣规尦瀹曟粌鈹戦崼銏㈢暥闂佺粯妫侀崑銈夊籍閸繂绐涘銈嗘尵婵嘲鐣烽懜鐢电瘈婵炲牆鐏濋弸鐔煎几椤忓棛纾介柛顐g矊瀹撳棝鏌涢埞鎯т壕婵$偑鍊栧濠氬磻閹剧粯鐓欓柧蹇e€嬮鍫晪闁挎繂妫涚弧鈧┑顔斤供閸庣敻濡搁埡鍌滃弳闂佸搫鍟犻崑鎾绘煕鎼淬垹鈻曢柣娑卞櫍楠炲洭鎮ч崼姘濠电偠鎻紞鈧い顐㈩樀瀹曟垿鎮╃紒妯煎幈闁瑰吋鎯岄崰鏍р枍瀹ュ洠鍋撳▓鍨灍鐟滄澘鍟撮崺銉﹀緞閹邦剦娼婇梺缁樕戣ぐ鍐ㄢ枔閵堝鈷掑ù锝呮啞閹牓鏌涢悤浣镐喊闁诡啫鍕瘈闁搞儯鍔屾禍妤呮⒑閸涘﹤濮﹂柛鐘愁殜閹繝鎮㈤崗鑲╁幗闂佸搫鍟导瀣亹閹广倕顦遍埀顒婄秵閸犳牠寮告笟鈧弻娑㈩敃閻樻彃濮曢梺鎶芥敱閸ㄥ潡寮诲☉妯锋斀闁糕剝顨忔导鍌炴煟鎼淬垻顣插鐟版濡叉劙骞掗幘宕囩獮闁瑰吋鎯岄崰妤冪礊閸喓绠鹃柨婵嗘噺閹兼劙鏌ㄩ弴銊ら偗妤犵偛鍟オ浼村醇閻旈妾┑鐘灩閸樻粓寮崒鐐茬闁硅揪绠戦拑鐔兼煛閸モ晛鏋庣紒鍓佸仦缁绘盯骞嬪▎蹇曚痪濡炪倕楠哥粔鐟邦潖閻戞ê顕辨繛鍡樺俯閸氬懐绱撻崒姘毙$紒鑸佃壘椤曪絾绻濆顓熸珳婵犮垼娉涢鍛濠婂牊鈷戦柛娑橈功缂傛岸鏌涙惔銏犫枙闁诡喒鍓濋幏鍛寲閺囩喐鏉搁梻浣虹帛閿曗晠宕伴弽顓熷€舵い蹇撶墛閻撱儲鎱ㄥΟ鍨厫闁硅櫕宀搁弻锝夊箛椤斿墽鐦堢紓浣筋嚙濡繈寮婚弴銏犻唶婵犻潧娲ゅ▍銈夋⒑闂堚晝绉繛鍜冪悼濡叉劙骞掑Δ浣镐汗闂佸憡鍔曞鍓佹嫚閻愭祴鏀芥い鏃傘€嬮崝鐔虹磼椤曞懎鐏︽鐐茬箻瀹曘劑寮堕幋婵堢崺闂傚倸鍊搁悧濠勭矙閹烘梹瀚婚柨鐔哄У閻撴瑦顨ラ悙鑼虎闁诲繐寮堕〃銉╂倷閺夋垹鐟ㄩ柧缁樼墵閺屽秷顧侀柛鎾跺枛楠炲啴鏁撻悩鎻掑祮闂侀潧楠忕槐鏇㈠储閸楃儐娓婚柕鍫濇婵呯磼閸欏顕滃ǎ鍥э躬瀹曞爼顢楁担鍝勫箰闂佽鍑界紞鍡涘磻閸涙澶愬醇閵夛妇鍘搁悗鍏夊亾閻庯綆鍓涢惁鍫ユ倵鐟欏嫭绀冮柨鏇樺灪娣囧﹪骞栨担鑲濄劑鏌曡箛鏇炐″瑙勬礋閹嘲饪伴崨顓ф毉闁汇埄鍨辩敮鐐靛垝閿濆憘鏃堝川椤旀儳骞嶉梻浣筋潐椤旀牠宕伴弽顓溾偓鍌涚附閸涘﹦鍘遍柣搴祷閸斿本淇婃禒瀣厪闁搞儜鍐句純閻庢鍠曠划娆撳箖娴犲顥堟繛鎴炨缚閸樻帡姊婚崒娆戭槮闁圭⒈鍋婇、鏍炊椤掆偓缁愭鏌″搴″箹缂佺姵鐗楁穱濠囧Χ閸屾矮澹曟俊鐐€ら崑鍛崲閸儱绠栨繛鍡樻惄閺佸棝鏌嶈閸撶喖銆侀弮鍫熸櫢闁跨噦鎷�
>更多相关文章
首页推荐
佛山市东联科技有限公司一直秉承“一切以用户价值为依归
- 01-11全球最受赞誉公司揭晓:苹果连续九年第一
- 12-09罗伯特·莫里斯:让黑客真正变黑
- 12-09谁闯入了中国网络?揭秘美国绝密黑客小组TA
- 12-09警示:iOS6 惊现“闪退”BUG
- 03-08消息称微软开发内部AI推理模型,或将成为Op
- 03-08美国法院驳回马斯克请求,未阻止OpenAI转型
- 03-08饿了么成立即时配送算法专家委员会 持续全局
- 03-08长安汽车:预计今年底长安飞行汽车将完成试
- 03-08谷歌推出虚拟试穿、AR美妆新功能
相关文章
24小时热门资讯
24小时回复排行
热门推荐
最新资讯
操作系统
黑客防御