android Textview 常見效果,androidtextview
1:跑馬燈的效果
android:singleLine="true"android:ellipsize="marquee"android:focusableInTouchMode="true"android:focusable="true"android:marqueeRepeatLimit="marquee_forever"
- android:singleLine=true 表示使用單行文字,多行文字也就無所謂使用Marquee效果了。
- android:marqueeRepeatLimit,設定走馬燈滾動的次數。
- android:ellipsize,設定了文字過長時如何切斷文字,可以有none, start,middle, end, 如果使用走馬燈效果則設為marquee.
- android:focusable,Android的預設行為是在控制項獲得Focus時才會顯示走馬燈效果
2:超出幾行點點的效果:
android:maxLines="2" android:ellipsize="end"
3:自動連結的效果:
android:autoLink="phone|email|map|web|all"
2:超出幾行點點的效果:第三方
問這個問題,Android實現TextView裡面的文字一個一個逐漸顯示的效果,最後解決了,怎解決的,
如果字數不多的話可以考慮自訂控制項繼承textView,重寫TextView(Context context,AttributeSet attris)方法,自訂樣式。在構造器中擷取到自訂樣式的屬性值,然後開啟一個線程,間隔一段時間想View發送訊息,截取子字串顯示;代碼可如下:
public class MyTextView extends TextView{
int textIndex = 0;
String text;
String subText;
ShowTextThread showTextThread;
public MyTextView(Context context){
super(context);
text = "";
}
public MyTextView(Context context,AttributeSet attrs){
super(context,attrs);
TypedArray array = context.obtainStyledAttributes(attrs,R.styleable.xxxx);
text = array.getString(R.styleable.xxxx_xxxx);
showTextThread = new ShowTextView();
showTextThread.start();
}
class ShowTextThread extends Thread{
public void run(){
while(textIndex != text.length){
subText = text.subString(0,textIndex);
postIndvalidate();
textIndex++;
}
}
}
protected void onDraw(){
setText(subText);
super.onDraw();
}
}
有問題請追問,希望對你有協助!如果符合要求,請採納,寫這麼多字,不容易啊!
Android textview 怎實現點擊後中文字型變粗的效果與點擊後出現陰影的效果
下面是自己做的一個效果,可以拷貝到自己的項目裡面看看,因為網路原因就不上傳結果圖了
1.MainActivity.java
package com.example.a07;import android.app.Activity;import android.graphics.Color;import android.graphics.Typeface;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.TextView;public class MainActivity extends Activity {private TextView tv;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv = (TextView) this.findViewById(R.id.tv);tv.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) { // 粗體tv.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));// 模糊度 //陰影離開文字的x 橫向距離//y距離//陰影顏色tv.setShadowLayer(1F, 20F, -20F, Color.GRAY);}});}}
2.activity_main.xml
<LinearLayout xmlns:android="schemas.android.com/apk/res/android" xmlns:tools="schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/tv" android:layout_width="fill_parent" android:layout_height="fi......餘下全文>>