線上直播系統原始碼,個人主頁使用者標籤新增實現
線上直播系統原始碼,個人主頁使用者標籤新增實現的相關程式碼
程式碼實現: 自定義TextView
public class TagTextView extends AppCompatTextView { private View view;//標籤佈局的最外層佈局 private Context mContext; private TextView tv_tag; private StringBuffer content_buffer; //必須重寫所有的構造器,否則可能會出現無法inflate佈局的錯誤! public TagTextView(Context context) { super(context); mContext = context; } public TagTextView(Context context, AttributeSet attrs) { super(context, attrs); mContext = context; } public TagTextView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); mContext = context; } public void setContentAndTag(String content, List<String> tags) { content_buffer = new StringBuffer(); for (String item : tags) {//將每個tag的內容新增到content後邊,之後將用drawable替代這些tag所佔的位置 content_buffer.append(item); } content_buffer.append(content); SpannableString spannableString = new SpannableString(content_buffer); for (int i = 0; i < tags.size(); i++) { String item = tags.get(i); View view = LayoutInflater.from(mContext).inflate(R.layout.layout_texttab, null);//R.layout.tag是每個標籤的佈局 tv_tag = view.findViewById(R.id.tv_tag); tv_tag.setText(item); Bitmap bitmap = convertViewToBitmap(view); Drawable d = new BitmapDrawable(bitmap); d.setBounds(0, 0, tv_tag.getWidth(), tv_tag.getHeight());//缺少這句的話,不會報錯,但是圖片不回顯示 ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BOTTOM);//圖片將對齊底部邊線 int startIndex; int endIndex; startIndex = getLastLength(tags, i ); endIndex = startIndex + item.length(); Log.e("tag", "the start is" + startIndex + "the end is" + endIndex); spannableString.setSpan(span, startIndex, endIndex, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); } setText(spannableString); setGravity(Gravity.CENTER_VERTICAL); } private static Bitmap convertViewToBitmap(View view) { view.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)); view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight()); view.buildDrawingCache(); Bitmap bitmap = view.getDrawingCache(); return bitmap; } private int getLastLength(List<String> list, int maxLength) { int length = 0; for (int i = 0; i < maxLength; i++) { length += list.get(i).length(); } return length; } }
自定義一個layout_texttab佈局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:id="@+id/tv_tag" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="2dp" android:layout_marginRight="5dp" android:background="@drawable/round_blue" android:gravity="center_vertical" android:paddingBottom="2dp" android:paddingLeft="3dp" android:paddingRight="3dp" android:text="標籤" android:textColor="@android:color/white" android:textSize="12sp"/> </LinearLayout>
使用
<com.zc.tool.TagTextView android:id="@+id/text_tab" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="12dp" android:textColor="@color/white" android:gravity="center" /> List<String> tags = new ArrayList<>(); tags.add("@使用者"); tags.add("@程式猿"); tags.add("@產品經理"); textTab.setContentAndTag("改個需求", tags);
以上就是線上直播系統原始碼,個人主頁使用者標籤新增實現得相關程式碼, 更多內容歡迎關注之後的文章
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978258/viewspace-2795518/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 直播系統原始碼,調整個人主頁背景圖透明度原始碼
- 線上直播系統原始碼,當前版本號頁面呈現原始碼
- 線上直播系統原始碼,LinearLayout下多個ListView實現滾動原始碼View
- 線上直播系統原始碼,簡單實現Android應用的啟動頁原始碼Android
- 線上直播系統原始碼,實現翻頁載入、下拉滾動載入原始碼
- 線上直播系統原始碼,flutter 巢狀滑動實現原始碼Flutter巢狀
- 跳轉個人主頁的指定標籤內容
- 線上直播系統原始碼,利用css和html實現首頁圖片輪播效果原始碼CSSHTML
- 線上直播系統原始碼,vue實現搜尋文字高亮功能原始碼Vue
- 線上直播系統原始碼,迴圈滾動RecyclerView的實現原始碼View
- 呼叫支付介面,實現直播帶貨系統原始碼的線上支付原始碼
- 線上直播系統原始碼,自定義底部 BottomNavigationBar原始碼Navigation
- 線上直播系統原始碼,實現搜尋後介面顯示商品列表效果原始碼
- 線上直播系統原始碼,使用ValueAnimator實現view放大縮小動畫效果原始碼View動畫
- 線上直播系統原始碼,Node.js中使用Koa實現上傳圖片功能原始碼Node.js
- 短視訊直播系統,簡單實現個人主頁背景圖片和文字顏色的更改
- vuejs實現新增tag標籤程式碼例項VueJS
- 線上直播系統原始碼,實現在圖片上塗鴉並記錄塗鴉軌跡原始碼
- 短視訊直播系統,個人主頁背景圖片自適應寬高
- 教育網站原始碼:線上教育直播系統如何開發才能吸引使用者?網站原始碼
- 直播系統app原始碼,Android studio 實現app登入註冊頁面APP原始碼Android
- 線上直播系統原始碼,彈出警告/提示類彈窗原始碼
- 線上直播系統原始碼,Dart-Flutter DateTime日期轉換原始碼DartFlutter
- 教育直播原始碼:如何進行線上教育系統搭建?原始碼
- 線上直播系統原始碼,前後端大檔案上傳程式碼分析原始碼後端
- 直播系統原始碼,vue實現無縫滾動原始碼Vue
- 線上直播原始碼實現直播技術曾遇到的那些小問題原始碼
- 線上直播原始碼,java資料分頁幾種方式原始碼Java
- 線上直播系統原始碼,使用者登入時獲取到使用者已有的賬號資訊原始碼
- 線上直播系統原始碼,使用者異地登入時對身份進行驗證原始碼
- 線上直播系統原始碼,滑鼠懸停後彈出氣泡原始碼
- 線上直播系統原始碼,Vue3中全域性配置 axios原始碼VueiOS
- 【專案記錄】個人主頁設計和實現
- 特別好看個人主頁官網展示開源程式原始碼原始碼
- 短影片系統原始碼——“潮流”標籤之下蘊藏哪些實用功能原始碼
- 直播系統原始碼,快速實現改變圖片尺寸原始碼
- 直播系統原始碼,實現快速排序和歸併排序原始碼排序
- 影片直播系統原始碼,非同步處理實現程式碼分析原始碼非同步