Android EditText'te Satır Oluşturma
Yazacağımız programların bu rekabet ortamında diğer programlardan sıyrılıp öne çıkmasını görsellik,hız ve performans ile sağlayabiliriz. Biraz görsellik katmak için compenent'lerimizi özelleştirip zenginleştirebiliriz.
Örnek olarak android EditText'te satırlar oluşturalım. Normalde EditText içi boş şekilde gelir. EditText'i özelleştirmek için bir sınıf yazalım. Yazacağımız sınıf satırları boyayarak oluştursun.
Daha farklı şekillerde de kullanılabilir. Tavsiye edeceğiniz yeni fikirler varsa, o programları da yazmayı deneyebiliriz.
Main.xml'e özelleştirdiğimiz EditText i ekleyelim.public static class LinedEditText extends EditText { private Rect rect; //Satırı çizeceğimiz boya oluşturulur. private Paint paint; //Program çalıştığında oluşacak satır sayısı. Ekranda ilk olarak oluşturulacak satır sayısını siz belirleyebilirsiniz. Veya dinamik yapılabilir. private int lastLine=15; public LinedEditText(Context context, AttributeSet attribute) { super(context, attribute); rect = new Rect(); //Boyanın özellikleri paint = new Paint(); paint.setStyle(Paint.Style.STROKE); paint.setColor(0x800000FF); } @Override protected void onDraw(Canvas canvas) { Rect r = rect; Paint newPaint = paint; int baseline = getLineBounds(0, r); for (int j = 0; j < lastLine; j++) { //Bir satırın çizilmesi canvas.drawLine(r.left, baseline + 1, r.right,baseline + 1, newPaint); baseline+=39; if(getLineCount() == lastLine-1){ //Eğer cursor son satıra gelmişse satır sayısı 1 arttırılır this.lastLine+=1; } } super.onDraw(canvas); }
<view xmlns:android="http://schemas.android.com/apk/res/android" class="com.hsn.deneme.StyleDenemeActivity$LinedEditText" android:id="@+id/note" android:layout_width="fill_parent" android:layout_height="250dip" android:padding="5dp" android:scrollbars="vertical" android:fadingEdge="vertical" android:gravity="top" android:textSize="22sp" android:capitalize="sentences" />
EditText'in boyutunu değiştirirseniz başta oluşturulan satır sayısını yani lastLine değişkenini de güncellemelisiniz.
Etiketler :
[ Android Satır Oluşturma]
[ Android EditText]
[ EditText Satır Oluşturma]
[android]
[ Lined EditText]


