Bir Vitrin görünümünde Başlık ve İleti konumunun ayarlanması için herhangi bir yol var mı? Kütüphanenin en iyi pozisyonu bulmak için bir işlev kullandığını görüyorum ama bunu geçersiz kılmak istiyorum.Vitrin Görüntü metin yerçekimi
cevap
Sadece ShowcaseView
kaynak koduna kazdım ve metin konumunu ayarlamak için yerleşik bir yol yok gibi görünüyor. Bu yüzden kütüphaneye kendi değişiklikimi ekledim. sınıfta ShowcaseView
yılında
bu alanları eklendi: İç sınıf ShowcaseView
sınıfta Builder
sınıfında Sonra
private boolean hasManualPostion = false;
private int xPosition, yPosition, width;
, eklemek bu yöntemler:
public Builder hasManualPosition(boolean hasManualPosition) {
showcaseView.hasManualPostion = hasManualPosition;
return this;
}
public Builder xPostion(int xPostion) {
showcaseView.xPosition = xPostion;
return this;
}
public Builder yPostion(int yPostion) {
showcaseView.yPosition = yPostion;
return this;
}
Burada yaptığınız değişiklikleri olduğunu
public void setTestPostionManually(int xPosition, int yPosition) {
mBestTextPosition[0] = xPosition;
mBestTextPosition[1] = yPosition;
}
:
Bundan sonra TextDrawer
sınıfa bu yöntemi ekleyin
ve ShowcaseView
uç değişikliği onPreDraw
yöntemine 0 şöyle görünecek şekilde:
@Override
public boolean onPreDraw() {
boolean recalculatedCling = showcaseAreaCalculator.calculateShowcaseRect(showcaseX, showcaseY, showcaseDrawer);
boolean recalculateText = recalculatedCling || hasAlteredText;
if (recalculateText) {
textDrawer.calculateTextPosition(getMeasuredWidth(), getMeasuredHeight(), this, shouldCentreText);
if (hasManualPostion) {
textDrawer.setTestPostionManually(xPosition, yPosition);
}
}
hasAlteredText = false;
return true;
}
Şimdi böyle ShowcaseView
oluşturmalısınız:
sv = new ShowcaseView.Builder(this, true)
.setTarget(target)
.setContentTitle(R.string.showcase_main_title)
.setContentText(R.string.showcase_main_message)
.setStyle(R.style.CustomShowcaseTheme2)
.setShowcaseEventListener(this)
.hasManualPosition(true)
.xPostion(0)
.yPostion(240)
.build();
tadını çıkarın!
Bu sürüm nedir? herhangi bir fikir miras içinde nasıl çalışılır? –
Değişiklik 5.0.0 – Sadegh
sürümü için 5.0.0'da el animasyonunu getirmenin herhangi bir yolunu biliyor musunuz? –
Lütfen ne söylemeye çalıştığınızı, kodunuzu göstermeyi ve ardından aldığınız sorunu açıklayın. –
güncelleştirildi op. Hala bunu yapmanın bir yolunu bulamadım. – arayray
Showcase View github. https://github.com/Espiandev/ShowcaseView/issues/113 – arayray