Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 一步一步學android控件(之二) —— TextView

一步一步學android控件(之二) —— TextView

編輯:關於Android編程

ndroid 控件眾多 , 額 , 具體多少個呢? 貌似有那麼幾十個吧,也沒做個統計,嘿嘿!......   有木有朋友感覺寫了那麼長時間的android代碼,有時候想寫點自己的東西的時候卻發現自己好像離不開網絡耶,什麼都需要先到網絡上遨游一番才能解決自己的問題。思前想後,個人覺得還是有必要鞏固一下自己學習過的東西——想想以前這些東西,自己都寫過一遍了,但是折騰一段時間下來都不知道放哪裡去了........     好了,廢話不多說了,這次准備重新學習一下android的常用控件TextView、EditText、AutoCompleteTextView、Button、CalendarView、CheckBox、Chronometer、CompoundButton、DatePicker、DigitalClock、ExpandableListView、Gallery、GridView、HorizontalScrollView、ImageButton、ImageSwitcher、ImageView、ListPopupWindow、ListView、MultiAutoCompleteTextView、NumberPicker、PopupMenu、PopupWindow、ProgressBar、QuickContactBadge、RadioButton、RadioGroup、RatingBar、RemoteViews、ScrollView、SearchView、SeekBar、SlidingDarwer、Switch、TableHost、TextClock、TextSwitcher、TimePicker、Toast、ToggleButton、VideoView、ViewFlipper、ViewSwitcher、ZoomButton等控件。   今天學習TextView控件,先來看看效果圖(注意:本文中的代碼是寫在工程SelfDefineWidget中的,具體內容參見一步一步學android控件(之一) —— 開始篇     該界面中有5個button和一個TextView控件,當點擊每個button時將修改TextView中的內容或背景:   1、點擊button “指定字體大小為24” 將看到字體變大,對應屬性 android:textSize.   2、點擊button “指定字體顏色為藍色” 字體顏色將從黑色變為男色,對應屬性android:textColor.   3、點擊button “html下劃線” ,將在字體的下面畫出一條直線。可以在strings.xml文件中用<u>Some thind </u> 替換硬編碼。   4、點擊button “html刪除線”,將在TextView中的字體的中間畫一條直線。可以在strings.xml文件中用<stroke>Some thind </stroke> 替換硬編碼。   5、點擊button “自定義背景” ,將看到以顏色#e0FFFFCC為底色,#e066CC00為邊框色,邊框寬度為2的橢圓。   其中1,2,3,4的效果比較簡單這裡就不給出效果圖了,下圖為點擊“自定義背景”後看到的textView的背景:     從上圖可以看到,我們點擊了刪除線、將字體設置為藍色,自定義背景的button 。   下面一步一步實現上述所述的功能:   1、首先,打開一步一步學android控件(之一) —— 開始篇 創建的工程,在res/strings.xml文件中加入如下內容:     [html]   <!-- strings for TextView -->       <string name="default_text_view_str">這是默認的TextView的樣式</string>              <string name="customer_font_size">指定字體大小為24</string>       <string name="font_size_24">這是24號大小的字體哦</string>              <string name="customer_font_color">指定字體顏色為藍色</string>              <string name="html_u">html下劃線</string>       <string name="html_stroke">html刪除線</string>              <string name="cumtomer_bg_str">自定義背景</string>       <!-- end -->   2、在res/values目錄下面創建文件widget_color.xml (該文件用來定義所有的顏色),內容如下:   [html]   <?xml version="1.0" encoding="utf-8"?>   <resources>       <color name="text_view_fill">#e0FFFFCC</color>       <color name="text_view_stroke">#e066CC00</color>       <color name="color_blue">#0000ff</color>   </resources>   3、在drawable(如果不存在,自己新建一個)目錄下創建widget_text_view_bg.xml文件(自定義的背景),內容如下 [html]  <?xml version="1.0" encoding="utf-8"?>   <shape xmlns:android="http://schemas.android.com/apk/res/android"       android:shape="oval" >          <solid android:color="@color/text_view_fill" />          <stroke           android:width="2dp"           android:color="@color/text_view_stroke" />          <padding           android:bottom="10dp"           android:left="15dp"           android:right="15dp"           android:top="10dp" />      </shape>   可以看到,定義了一個shape(對應ShapeDrawable類),stroke 描邊框 , solid 指定填充顏色,padding 指定內容和邊框的距離。     4、創建效果圖中的界面text_view_detail.xml    [html]   <?xml version="1.0" encoding="utf-8"?>   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"       android:layout_width="match_parent"       android:layout_height="match_parent"       android:gravity="center_horizontal" >          <LinearLayout           android:id="@+id/linearLayout1"           android:layout_width="match_parent"           android:layout_height="wrap_content"           android:layout_alignParentLeft="true"           android:layout_alignParentTop="true" >              <Button               android:id="@+id/customer_font_size_btn"               style="?android:attr/buttonStyleSmall"               android:layout_width="wrap_content"               android:layout_height="wrap_content"               android:text="@string/customer_font_size" />              <Button               android:id="@+id/customer_font_color_btn"               style="?android:attr/buttonStyleSmall"               android:layout_width="wrap_content"               android:layout_height="wrap_content"               android:text="@string/customer_font_color" />       </LinearLayout>       <LinearLayout           android:id="@+id/linearLayout2"           android:layout_width="match_parent"           android:layout_height="wrap_content"           android:layout_below="@+id/linearLayout1" >           <Button               android:id="@+id/html_u_btn"               style="?android:attr/buttonStyleSmall"               android:layout_width="wrap_content"               android:layout_height="wrap_content"               android:text="@string/html_u" />              <Button               android:id="@+id/html_stroke_btn"               style="?android:attr/buttonStyleSmall"               android:layout_width="wrap_content"               android:layout_height="wrap_content"               android:text="@string/html_stroke" />           <Button               android:id="@+id/cumtomer_bg_btn"               style="?android:attr/buttonStyleSmall"               android:layout_width="wrap_content"               android:layout_height="wrap_content"               android:text="@string/cumtomer_bg_str" />       </LinearLayout>          <TextView           android:id="@+id/show_text_view_detail"           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:layout_alignParentBottom="true"           android:layout_marginBottom="100dp"           android:layout_marginLeft="16dp"           android:singleLine="true"           android:text="@string/default_text_view_str" />      </RelativeLayout>     5、創建用於交互的activity —— WidgetTextView.java   [java]   package com.xy.zt.selfdefinewieget;      import android.app.Activity;   import android.content.res.Resources;   import android.graphics.Paint;   import android.os.Bundle;   import android.text.Html;   import android.text.TextPaint;   import android.view.View;   import android.view.View.OnClickListener;   import android.widget.Button;   import android.widget.TextView;      public class WidgetTextView extends Activity implements OnClickListener{          private static final float FONT_SIZE = 24f;       private Button mCusFontSize ;       private Button mCusFontColor ;       private Button mHtmlU ;       private Button mHtmlStroke ;       private Button mCusBg ;              private TextView mShowView ;       private Resources mRes;       @Override       public void onCreate(Bundle savedInstanceState) {           super.onCreate(savedInstanceState);           setContentView(R.layout.text_view_detail);           init();       }          void init(){           mRes = getResources();           mShowView = (TextView) findViewById(R.id.show_text_view_detail);                      mCusFontSize = (Button) findViewById(R.id.customer_font_size_btn);           mCusFontSize.setOnClickListener(this);                      mCusFontColor = (Button) findViewById(R.id.customer_font_color_btn);           mCusFontColor.setOnClickListener(this);                      mHtmlU = (Button) findViewById(R.id.html_u_btn);           mHtmlU.setOnClickListener(this);                      mHtmlStroke = (Button) findViewById(R.id.html_stroke_btn);           mHtmlStroke.setOnClickListener(this);                      mCusBg= (Button) findViewById(R.id.cumtomer_bg_btn);           mCusBg.setOnClickListener(this);       }          public void onClick(View v) {           String tempStr ;           switch(v.getId()){           case R.id.customer_font_size_btn:               mShowView.setText(R.string.font_size_24);               mShowView.setTextSize(FONT_SIZE);               break;           case R.id.customer_font_color_btn:               mShowView.setTextColor(mRes.getColor(R.color.color_blue));               break;           case R.id.html_u_btn:               tempStr = mShowView.getText().toString();               mShowView.getPaint().setAntiAlias(true);               mShowView.setPaintFlags(Paint.UNDERLINE_TEXT_FLAG);               break;           case R.id.html_stroke_btn:               mShowView.getPaint().setAntiAlias(true);               mShowView.setPaintFlags(Paint.STRIKE_THRU_TEXT_FLAG);               break;           case R.id.cumtomer_bg_btn:               mShowView.setBackgroundResource(R.drawable.widget_text_view_bg);               break;           }       }   }     6、做好這一切後,還需要在一步一步學android控件(之一) —— 開始篇 中WidgetsAdapter類中修改handleItemClicked函數為如下內容:   [java]   Intent intent = new Intent();           switch (action) {           case ViewData.TEXT_VIEW_ID:               intent.setClass(mContext, WidgetTextView.class);               mContext.startActivity(intent);               break;           }     ok,今天就到這裡,下一個控件——Button 。  
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved