-
-
Save francisnnumbi/546b316bb629fcb3bc634962458ea8b5 to your computer and use it in GitHub Desktop.
Custom Edittext with Line Number
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" | |
xmlns:tools="http://schemas.android.com/tools" | |
android:layout_width="match_parent" | |
android:layout_height="match_parent" | |
android:paddingBottom="@dimen/activity_vertical_margin" | |
android:paddingLeft="@dimen/activity_horizontal_margin" | |
android:paddingRight="@dimen/activity_horizontal_margin" | |
android:paddingTop="@dimen/activity_vertical_margin" | |
tools:context=".MainActivity"> | |
<rupantor.cusedittext.MyEditText | |
android:layout_width="wrap_content" | |
android:layout_height="wrap_content" | |
android:text="@string/hello_world" /> | |
</ScrollView> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package rupantor.cusedittext; | |
import android.content.Context; | |
import android.graphics.Canvas; | |
import android.graphics.Color; | |
import android.graphics.Paint; | |
import android.graphics.Rect; | |
import android.util.AttributeSet; | |
import android.widget.EditText; | |
/** | |
* Author S Mahbub Uz Zaman on 5/9/15. | |
* Lisence Under GPL2 | |
*/ | |
public class MyEditText extends EditText { | |
private Rect rect; | |
private Paint paint; | |
public MyEditText(Context context, AttributeSet attrs) { | |
super(context, attrs); | |
rect = new Rect(); | |
paint = new Paint(); | |
paint.setStyle(Paint.Style.FILL); | |
paint.setColor(Color.BLACK); | |
paint.setTextSize(20); | |
} | |
@Override | |
protected void onDraw(Canvas canvas) { | |
int baseline = getBaseline() | |
for (int i = 0; i < getLineCount(); i++) { | |
canvas.drawText("" + (i+1), rect.left, baseline, paint); | |
baseline += getLineHeight(); | |
} | |
super.onDraw(canvas); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment