TextView
android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/autotx"
注意:setText()或setTextColor()方法的参数是一个int值还是一个资源地址
<TextView android:id="@+id/tvWebUrl" android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="web" /> <TextView android:id="@+id/tvEmail" android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="email" /> <TextView android:id="@+id/tvPhone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="phone" /> <TextView android:id="@+id/tvMap" android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="map" /> <TextView android:id="@+id/tvAll" android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="all" android:text="你好,很高兴认识你,我的博客:http://blog.csdn.net/jiahui524。 手机号码:15580974038.邮箱:[email protected]" /> <TextView android:id="@+id/tvHtml" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/tvHtml1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/link_text_manual" />
private void findViews(){ TextView tvWebUrl = (TextView)findViewById(R.id.tvWebUrl); tvWebUrl.setText("网易:http://www.163.com"); TextView tvEmail,tvPhone, tvMap ,tvHtml; tvEmail = (TextView) this.findViewById(R.id.tvEmail); tvPhone = (TextView) this.findViewById(R.id.tvPhone); tvMap = (TextView) this.findViewById(R.id.tvMap); tvHtml = (TextView)this.findViewById(R.id.tvHtml); tvEmail.setText("我的邮箱:[email protected]"); tvPhone.setText("我的电话:500000"); tvHtml.setText(Html.fromHtml("<font size='33' color='#333333'>我<i>爱</i>北</font>京天<b>安</b>门/n <br/>" + "<a href='http://www.163.com'>163</a>")); }
<string name="link_text_manual"> 作者博客: <a href="http://nokiaguy.blogjava.net"> http://nokiaguy.blogjava.net </a> </string>
注意:
android:autoLink=”email” :会出现unsupported action,可能是模拟器bug,须探究
另外使用Html.fromHtml时,超链接只具备外观,不能跳转
自定义带边框的TextView
package cn.class3g.activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Paint; import android.util.AttributeSet; import android.widget.TextView; public class BorderTextView extends TextView { public BorderTextView(Context context, AttributeSet attr) { super(context,attr); } public void onDraw(Canvas canvas) { super.onDraw(canvas); Paint paint = new Paint(); paint.setColor(android.graphics.Color.GREEN); canvas.drawLine(0, 0, this.getWidth() - 1, 0, paint); canvas.drawLine(0, 0, 0, this.getHeight() - 1, paint); canvas.drawLine(this.getWidth() - 1, 0, this.getWidth() - 1, this.getHeight() - 1, paint); canvas.drawLine(0, this.getHeight() - 1, this.getWidth() - 1, this.getHeight() - 1, paint); } }
<cn.class3g.activity.BorderTextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:padding="30dp" android:text="xxxxxxxxxxxxx" />
9-patch工具的使用
<TextView android:id="@+id/tvBorder" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/link_text_manual" android:textColor="#00FF00" android:background="@drawable/back" />
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:password="true" android:digits="01234" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:digits="abcd" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="number" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textEmailAddress" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:numeric="decimal|signed" />
为EditText对象的注册OnKeyListener事件,实现onKey()方法
<EditText android:id="@+id/text1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="text1" /> <Button android:id="@+id/button1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:visibility="gone" android:text="Button" />
et.setOnKeyListener(this); … public boolean onKey(View view, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER) { btn.setText(et.getText()); et.setVisibility(View.GONE); btn.setVisibility(View.VISIBLE); } return true; }
l AutoCompleteTextView
l MultiCompleteTextView
<AutoCompleteTextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/autotx" /> <MultiAutoCompleteTextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/mautotx" />
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.hide); btn = (Button) this.findViewById(R.id.button1); et = (EditText) this.findViewById(R.id.text1); et.setOnKeyListener(this); autotx = (AutoCompleteTextView) this.findViewById(R.id.autotx); String[] s={"a","abc","ab","b","bc","bdad"}; ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,s); autotx.setAdapter(adapter); mautotx = (MultiAutoCompleteTextView) this.findViewById(R.id.mautotx); mautotx.setAdapter(adapter); mautotx.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); }