1. 程式人生 > >TextView的drawableLeft與文字一起居中顯示(以及程式碼設定drawableLeft)

TextView的drawableLeft與文字一起居中顯示(以及程式碼設定drawableLeft)

網上一搜全是自定義控制元件,其實去看看TextView的屬性,就能發現,解決這個問題,直接xml檔案中就能搞定,程式碼如下:

<!-- 不明白的屬性請自行查閱資料-->
<TextView
    android:id="@+id/tv_finish"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal|center_vertical"
    android:gravity="center"
    android:adjustViewBounds="true"
    android:drawableLeft="@drawable/ic_finish"
    android:text="完成" />

TextView動態設定旁邊圖片,可使用如下程式碼:

TextView textView = (TextView)findViewById(R.id.tv_finish);
Drawable drawable= getResources().getDrawable(R.drawable.ic_finish);
drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());//這句一定要加
textView.setCompoundDrawables(drawable,null,null,null);//setCompoundDrawables用來設定圖片顯示在文字的哪一端


效果圖如下:


注:

所有安卓開發中用到圖片配文字這種,都可以直接用TextView來實現,TextView提供的drawableLeft,drawableRight,drawableTop,drawableBottom可以實現圖片環繞在文字左右上下。佈局跟程式碼跟同上。