仿qq空間點贊 文字分段點選響應點選事件
實現效果 :思路主要是使用TextView和SpanableStringBuilder的setSpan方法實現的
參考文件http://androiddoc.qiniudn.com/reference/android/text/SpannableStringBuilder.html#setSpan(java.lang.Object, int, int, int)
佈局檔案
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="themeone.testtablayout.MainActivity" tools:showIn="@layout/activity_main"> <TextView android:layout_width="wrap_content" android:id="@+id/tv_recieve"android:layout_height="wrap_content" android:text=""/> </RelativeLayout>
主要程式碼思路
public class MainActivity extends Activity implements View.OnClickListener { private TextView tv_recieve; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv_recieve = (TextView) findViewById(R.id.tv_recieve);tv_recieve.setOnClickListener(this); //仿qq空間點贊text文字分段點選事件 setTextMultClick(); } //準備資料 private void setTextMultClick() { StringBuilder sb=new StringBuilder(); for (int i = 0; i < 20; i++) { sb.append("好友"+i+","); } String users=sb.substring(0,sb.lastIndexOf(",")); tv_recieve.setText(addClickPart(users), TextView.BufferType.SPANNABLE); } //定義點選每個部分文字的處理方法 private SpannableStringBuilder addClickPart(String users) { ImageSpan imageSpan=new ImageSpan(getApplicationContext(),R.mipmap.ic_launcher); SpannableString spanStr=new SpannableString("i.");//任意文字 主要是實現效果 //Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 前後都不包括 spanStr.setSpan(imageSpan,0,1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //建立一個ssb 儲存總的使用者 SpannableStringBuilder ssb=new SpannableStringBuilder(spanStr); ssb.append(users); //為每段資料建立點選 事件 String[] users_array=users.split(","); if(users_array.length>0){ for (int i = 0; i < users_array.length; i++) { final String user_name = users_array[i];//好友0 int start=users.indexOf(user_name)+spanStr.length(); //為每段資料增加點選事件 ssb.setSpan(new ClickableSpan() { @Override public void onClick(View widget) { Toast.makeText(MainActivity.this,user_name, Toast.LENGTH_SHORT).show(); } @Override public void updateDrawState(TextPaint ds) { super.updateDrawState(ds); ds.setColor(Color.BLUE); // ds.setUnderlineText(false); } },start,start+user_name.length(),0); } } return ssb.append("等"+users_array.length+"人覺得很贊"); }
}
相關推薦
仿qq空間點贊 文字分段點選響應點選事件
實現效果 :思路主要是使用TextView和SpanableStringBuilder的setSpan方法實現的 參考文件http://androiddoc.qiniudn.com/reference/android/text/SpannableStringBuild
仿QQ空間點贊動畫
ObjectAnimator anim1 = ObjectAnimator.ofFloat(view, "scaleX", 1.0f, 2.0f,1.0f); Ob
jsp實現仿QQ空間新建多個相冊名稱,向相冊中加入照片
ext forname parseint type 登錄失敗 ocr cli str null 工具:Eclipse,Oracle,smartupload.jar。語言:jsp,Java;數據存儲:Oracle。 實現功能介紹: 主要是新建相冊,能夠建多個相冊,
【Android檢視效果】仿QQ空間滑動改變標題欄顏色
最近在倒騰公司之前的專案,發現之前的介面是個白色標題欄,不是很美觀,所以做了些改進。 先看效果圖 簡單說下思路,整個佈局大體上是ScrollView裡面包含了一個ImageView和RecyclerView,所以先得到ImageView的高度,當ScrollView向上滑動
iOS感測器集錦、飛機大戰、開發除錯工具、強制更新、Swift仿QQ空間頭部等原始碼
iOS精選原始碼 飛機大作戰 iOS優質部落格 Apple於北京時間9月17日晚在官網釋出了Xcode 10正式版,QiShare團隊成員於9月18日中午統一升級以對現有專案做適配。期間,作者發現某專案使用Xcode 10編譯
仿QQ空間之打造個性化可拉伸頭部控制元件
(使用格式工廠將視訊轉換成gif格式時影響了gif效果,執行在真機上不影響效果) 這個效果是採用ListView並給ListView新增一個頭部來實現的,當然了要處理ListView的上拉,下拉及鬆開肯定要對ListView自定義; 先來看下ListView的頭部xml檔案:
無需軟體實現QQ空間秒贊以及贊空間全部說說
電腦上直接在瀏覽器開啟QQ空間,按F12開啟控制檯,輸入以下程式碼然後回車 function autoLike() { var list=document.getElementsByClassName("item qz_like_btn_v3 "); for(i=0;i<
jsp實現仿QQ空間新建多個相簿名稱,向相簿中新增照片
工具:Eclipse,Oracle,smartupload.jar;語言:jsp,Java;資料儲存:Oracle。 實現功能介紹: 主要是新建相簿,可以建多個相簿,在相簿中新增多張照片,刪除照片,刪除相簿,當相簿下有照片時先刪除照片才能刪除相簿。 因為每個相簿和照片要有所
多選本地相簿中的圖片並展示(仿QQ空間動態傳送頁面)上傳至伺服器
最近公司專案需要從本地上傳圖片到伺服器,直接去找才發現安卓居然還有這麼坑的時候,呼叫原生的只能選擇一張圖片,而且還沒有任何的細節優化,觸控圖片就直接返回了。這肯定不行啊!於是就在網上找啊找。。。找啊找。。。有很多都寫得花裡胡哨的看不懂,而且介面的UI也是low的不行。。終於
WPF仿QQ聊天框表情文字混排實現
二話不說。先上圖 圖中分別有檔案、文字+表情、純文字的展示,對於同一個list不同的展示形式,很明顯,應該用多個DataTemplate,那麼也就需要DataTemplateSelector了: class MessageDataTemplateSe
H5移動端實現仿QQ空間照片上傳效果程式碼
//獲取檔案url function createObjectURL(blob){ if (window.URL){ return window.URL.c
Android 高仿QQ空間廣告位 ——— 一個位置來回切換兩張廣告圖
刷動態時無意間發現了這個效果覺得用在打廣告上實在是妙,使用者只需要上下滑動列表就會自動切換廣告圖(感興趣的可以在刷空間的時候留意一下)。一:接下來就來說說這個效果的具體實現思路通過自定義ImageView、繪製兩張圖片在上面。通過刮刮卡原理在ImageView上繪製一個圓不斷
mui開發app之多圖壓縮與上傳(仿qq空間說說發表)
應廣大讀者建議,已經將該專案原始碼提交到地址: https://download.csdn.net/download/u014466109/10465677 與本部落格相關的多圖壓縮上傳程式碼在dashen/service/ask.html,請解壓專案並移動
Android帶你解析ScrollView--仿QQ空間標題欄漸變
緒論 今天來研究的是ScrollView-滾動檢視,滾動檢視又分橫向滾動檢視(HorizontalScrollView)和縱向滾動檢視(ScrollView),今天主要研究縱向的。相信大家在開發中經常用到,ScrollView的功能已經很強大了,但是仍然滿足不
設定TextView部分文字下劃線並響應點選事件(SpannableString)
實現效果 textview中改變《服務條款》的顏色、增加下劃線。 實現關鍵點: SpannableString的使用 SpannableString spanText=new SpannableString(getString(R.string.d
iOS 點贊機制(防止按鈕重複點選觸發多次請求)
一、在按鈕的點選事件中實現下面方法:// 防止重複點選觸發多次請求 [[selfclass] cancelPreviousPerformRequestsWithTarget:selfsel
Android中同一個button按鈕每次點選響應不同的事件
開發中我們經常會遇到當點選一次按鈕後,按鈕上的text顯示改變為其他的,又或者當點選一次按鈕後按鈕變為紅色,當再次點選,又變回原來的顏色。 為了實現這種功能,我們可以為按鈕設定flag來標誌,每點選一次後就修改flag的值,然後通過判斷flag的值來實現不同的功能。 &l
Android/安卓仿淘寶直播點贊效果/qq空間點贊效果動畫
之前玩淘寶誤入它的直播頻道,發現它的直播介面的點贊效果挺好看,然後發現QQ控制元件點贊有類似動畫,於是趁有空花了點時間玩玩。 先上個效果圖: 添加了一個按鈕模擬點贊,點選多少次就出現多個水果,他們的運動軌跡和速度是不一樣的,而且帶有淡入淡出效果。這是淘寶直播的效果,qq
翻翻git之---實現QQ空間點贊部分實現的自己定義控件 EasyLikeArea
append 設置圖 獲取 p2p mipmap 部分 spa tty tag 轉載請註明出處:王亟亟的大牛之路 昨天在家裏弄魚的事沒上班,也就沒寫東西。決定今天早上補一篇,正好看到了 Easy like area in the circle
用Python登錄好友QQ空間點贊
selenium 說了 bdr cnblogs bsp 按鈕 att 最大 log 記得之前跟我女票說過,說要幫她空間點贊,點到999就不點了。剛開始還能天天記得,但是後來事情一多,就難免會忘記,前兩天點贊的時候忽然覺得這樣好枯燥啊,正好也在學Python,就在想能不能