Middle
Kā jūs paplašinātu TextView, izmantojot noteiktu metodi?
sobes.tech AI
Atbilde no AI
TextView paplašināšanu var veikt, izveidojot savu klasi, kas manto TextView un pārraksta nepieciešamās metodes, piemēram, onDraw() vai onMeasure(). Piemērs:
public class CustomTextView extends androidx.appcompat.widget.AppCompatTextView {
public CustomTextView(Context context) {
super(context);
init();
}
public CustomTextView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public CustomTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
private void init() {
// Papildu inicializācija, ja nepieciešama
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Pievienojam savu zīmēšanas loģiku, piemēram, rāmi vai apakšsvītru
Paint paint = new Paint();
paint.setColor(Color.RED);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(2);
canvas.drawRect(0, 0, getWidth(), getHeight(), paint);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
// Pievienojam savu mērogošanas loģiku
int width = getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec);
int height = getDefaultSize(getSuggestedMinimumHeight(), heightMeasureSpec);
setMeasuredDimension(width, height);
// Ja nepieciešams, var mainīt izmērus
}
}
Šajā piemērā CustomTextView klase manto AppCompatTextView. onDraw() metode ir pārrakstīta, lai pievienotu sarkanu rāmi ap tekstu, un onMeasure() paliek nemainīta, bet rāda, ka izmēru pielāgošana ir iespējama.
Lai izmantotu pielāgotu TextView XML izkārtojumā, norādiet pilnu klases ceļu:
<com.your_package_name.CustomTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello, Custom TextView!" />
Aizvietojiet com.your_package_name ar savu pakotnes ceļu.