2012-03-21 13 views
1

好きなデザインにAndroidアプリケーションのTextViewスタイルを変更するにはどうすればよいですか?TextViewスタイルAndroidアプリケーションの変更

メッセージングでの例文:バルーン内にメッセージを表示する(iPhoneのinBoxなど)。

おかげで、

+0

アンドロイドアプリをiOSのように見せないでください。あなたの偉大なコメントを –

答えて

2

textviewためのあなたの質問だけではなく、真のための回答が、アンドロイドの他のview

スタイルを変更する必要があるビューを拡張する新しいyour-selfクラスが必要になります。例えば

:ここ

public class NewTextView extends TextView{ 

    public NewTextView(){} //just constructor 

    @Override 
    public void onDraw(Canvas canvas){ 
    //this is a main method that do your work. 
    //for example, you will draw a `baloon` like iPhone 
    } 

は(あなたが紙に入力しているように)EditTextの各行に直線を引くのコード例、です。このコードを見て、そのようにすることを学ぶことができます。

もう一度:これを行うには、アンドロイド(CanvasまたはOpenGL)の描画に関する知識が必要です。

public class EditTextExtra extends EditText { 
    private Rect Rect; 
    private Paint Paint; 

    public EditTextExtra (Context context, AttributeSet attrs) { 
     super(context, attrs); 
     Rect = new Rect(); 
     Paint = new Paint(); 
     Paint.setStyle(Paint.Style.FILL_AND_STROKE); 
     Paint.setColor(Color.BLACK);  
    } 

    @Override 
    protected void onDraw(Canvas canvas) { 

     int count = getHeight()/getLineHeight(); 
     if(getLineCount() > count){ 
      count = getLineCount(); // for long text with scrolling 
     } 
     Rect r = Rect; 
     Paint paint = Paint; 

     int baseline = getLineBounds(0, r); // first line 

     for (int i = 0; i < count; i++) { 
      canvas.drawLine(r.left, baseline + 1, r.right, baseline + 1, paint); 
      baseline += getLineHeight(); // next line 
     } 
     super.onDraw(canvas); 
    } 
} 
+0

感謝:) stackoverflowのmemebersたくさん –

+0

感謝=) –

3

XMLでテキストビューの背景属性を変更することも、プログラムでこれを行うこともできます。 9パッチツールを使用して背景画像を作成します。そのため、画像のストレッチに問題はありません。画像へ

一つのオプションは、あなたが変化(グラデーション、コーナー、パディングなど)の多くを行うことができる場所の下に示すように、リソースフォルダ内のXMLを作成することで、より

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > 
    <gradient android:startColor="#FF00FF" android:endColor="#FFFF00" 
      android:angle="270"/> 
    <solid android:color="#00000000"/> 
    <stroke android:width="1dp" android:color="@color/round_rect_shape_border"/> 
    <padding android:left="7dp" android:top="7dp" 
      android:right="7dp" android:bottom="7dp" /> 
    <corners android:radius="8dp" /> 
</shape> 

の背景としてこれを使用テキストビュー。

+0

でも、あなたは以下のオプション <レイヤリストのxmlnsのために行くことができます。:アンドロイド: "http://schemas.android.com/apk/res/android"> <ビットマップのandroid:SRC = "@ drawable/yourfilename" android:tileMode = "repeat" /> Pavandroid

+0

ありがとうalot stackoverflow memebers =) –

関連する問題