У меня есть собственный текстовый вид в моем макете
public class CircularTextView extends AppCompatTextView {
private float strokeWidth;
private int strokeColor;
private int solidColor;
public CircularTextView(Context context) {
super(context);
}
public CircularTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CircularTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public void draw(Canvas canvas) {
Paint circlePaint = new Paint();
circlePaint.setColor(solidColor);
circlePaint.setFlags(Paint.ANTI_ALIAS_FLAG);
Paint strokePaint = new Paint();
strokePaint.setColor(strokeColor);
strokePaint.setFlags(Paint.ANTI_ALIAS_FLAG);
int h = this.getHeight();
int w = this.getWidth();
int diameter = ((h > w) ? h : w);
int radius = diameter/2;
this.setHeight(diameter);
this.setWidth(diameter);
canvas.drawCircle(diameter / 2.0f , diameter / 2.0f, radius, strokePaint);
canvas.drawCircle(diameter / 2.0f, diameter / 2.0f, radius-strokeWidth, circlePaint);
super.draw(canvas);
}
public void setStrokeWidth(int dp)
{
float scale = getContext().getResources().getDisplayMetrics().density;
strokeWidth = dp*scale;
}
public void setStrokeColor(String color)
{
strokeColor = Color.parseColor(color);
}
public void setSolidColor(String color)
{
solidColor = Color.parseColor(color);
}
}
вместе со счетчиком (может предоставить подробную информацию о макете, если требуется). Я установил адаптер блесны следующим образом:
spinnerFavBrand = view.findViewById(R.id.spinnerFavBrand);
final ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, brandNameList);
dataAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item);
spinnerFavBrand.setAdapter(dataAdapter);
Я расширяю счетчик, используя executeClick () в onClick () кнопки.
ibEditFavBrand.setOnClickListener(v -> spinnerFavBrand.performClick());
Когда CircularTextView скрыт, спиннер открывается нормально, но когда я устанавливаю видимость CircularTextView видимым, я все равно могу получить событие click в методе onClick () кнопки, но executeClick (), похоже, не действует Теперь.