Android EditText'te Satır Oluşturma

Android işletim sistemli cihazların popülerliğinin giderek artmasıyla, yeni programların ve programcıların sayısı da doğru orantılı olarak artıyor.  Kullanıcılar için alternatif programlar yazılıyor. Bu da rekabet ortamı demektir.

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.
 
 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);
         }

Main.xml'e özelleştirdiğimiz  EditText i ekleyelim.

<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.






0.00011420249939 | 3.5