public class CenterLineTextView extends android.support.v7.widget.AppCompatTextView {
private final Rect mBounds = new Rect();
private final Paint mPaint = new Paint();
private int mPadding;
private int mStroke;
public CenterLineTextView(Context context) {
super(context);
init();
}
public CenterLineTextView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
init();
}
public CenterLineTextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
if (isInEditMode()) {
return;
}
setGravity(Gravity.CENTER);
mStroke = getContext().getResources().getDimensionPixelSize(R.dimen.divider);
mPadding = getContext().getResources().getDimensionPixelSize(R.dimen.login_or_padding);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
mPaint.setStrokeWidth(mStroke);
mPaint.setColor(getPaint().getColor());
getPaint().getTextBounds(getText().toString(), 0, getText().length(), mBounds);
canvas.drawLine(0, getHeight()/2, (getWidth() - mBounds.right)/2 - mPadding, getHeight()/2, mPaint);
canvas.drawLine(mPadding + (getWidth() + mBounds.right)/2, getHeight()/2, getWidth(), getHeight()/2, mPaint);
}
}
fonte
2017-03-23 10:35:54
Thx! Funziona perfettamente;) Non riesco ad aggiungere 1 scusa, ma tutto è ok per me! – Asfi
@Asfi sarà presto in grado, penso che hai solo bisogno di 15 punti per +1 post :) Nessun problema tra –
Nel caso in cui alcune persone hanno errore, non dimenticare di dichiarare namespace in RelativeLayout: 'xmlns: android =" http://schemas.android.com/apk/res/android "' – StevenTB