android Textview 常見效果,androidtextview

來源:互聯網
上載者:User

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......餘下全文>>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.