Aileyi doldurmak için kurulumun genişliğini eşleştirmek için bir düğmenin yüksekliğini ayarlamak istediğim android XML düzeninde çalışıyorum. Açıkçası bu sayı ekran boyutuna göre değişecektir, bu yüzden ayarlanmış bir piksel boyutunu kullanamıyorum. Birisi ekran genişliğine göre düğme genişliğini elde etmeme yardımcı oluyor ve bunu yükseklik ayarına geçiriyor mu? Android: Genişliğini temel alarak XML'de düğme yüksekliğini ayarlama
yerine PX tarafından Piksel boyutunu kullanmak yerine, daldırma (yani aygıt bağımsız piksel), daldırma bağımsız cihazın ekran boyutuna göre piksel olarak boyutunu alacak söz,
5
A
cevap
-1
Josh teşekkür ederim.
örneğin: android: TEXTSIZE = "12dip"
Sen daldırma veya dp kullanabilir.
Tadını çıkarın!
3
Bir zamanlar benzer bir sorun yaşadım ve sadece XML'den çalışan bir çözüm buldum. Kendi Button-Class'ınızı yazmalı ve [onMeassure
] [1] metodunun üzerine yazmalısınız.
Örnek:
/**
* @see android.view.View#measure(int, int)
*/
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(measureWidth(widthMeasureSpec), measureHeight(heightMeasureSpec));
}
private int width; // saves the meassured width
/**
* Determines the width of this view
*
* @param measureSpec
* A measureSpec packed into an int
* @return The width of the view, honoring constraints from measureSpec
*/
private int measureWidth(int measureSpec) {
int result = 30;
int specMode = MeasureSpec.getMode(measureSpec);
int specSize = MeasureSpec.getSize(measureSpec);
if (specMode == MeasureSpec.EXACTLY) {
// We were told how big to be
result = specSize;
} else {
result =1123; // meassure your with here somehow
if (specMode == MeasureSpec.AT_MOST) {
// Respect AT_MOST value if that was what is called for by measureSpec
result = Math.min(result, specSize);
}
}
width = result;
return result;
}
/**
* Determines the height of this view
*
* @param measureSpec
* A measureSpec packed into an int
* @return The height of the view, honoring constraints from measureSpec
*/
private int measureHeight(int measureSpec) {
int result = 0;
int specMode = MeasureSpec.getMode(measureSpec);
int specSize = MeasureSpec.getSize(measureSpec);
if (specMode == MeasureSpec.EXACTLY) {
// We were told how big to be
result = specSize;
} else {
result = width;
if (specMode == MeasureSpec.AT_MOST) {
// Respect AT_MOST value if that was what is called for by measureSpec
result = Math.min(result, specSize);
}
}
return result;
}
[1]: http://developer.android.com/reference/android/view/View.html#onMeasure(int, int)
İlgili konular
- 1. Android'de TextView'ın genişliğini ve yüksekliğini dinamik olarak ayarlama
- 2. Aygıtın yüksekliğini ve genişliğini xamarin
- 3. Android studio'da gezinme çekmecesinin genişliğini ayarlama
- 4. HTML5'teki Video yüksekliğini ayarlama
- 5. bir GridPane genişliğini ve yüksekliğini
- 6. Kaydırıcı çekmece yüksekliğini ayarlama
- 7. jQuery iframe yüksekliğini ayarlama
- 8. Xcode'ta pencere genişliğini ayarlama
- 9. Sil XElement özniteliği temel alarak
- 10. Android Program aracılığıyla düğme metni ayarlama
- 11. Çalışma zamanında düzen yüksekliğini ve genişliğini alın android
- 12. Regex'i temel alarak JavaScript olayını davet edin
- 13. Satır yüksekliğini ayarlama xtable R
- 14. Titanium - Mevcut pencerenin yüksekliğini ayarlama
- 15. Twitter, düğme genişliğini nasıl değiştirir?
- 16. Tablo görünümünde sütun genişliğini ayarlama
- 17. Reklam genişliğini match_parent olarak ayarlama
- 18. Bir görüntünün genişliğini yeni bir sekmede ayarlama
- 19. jQuery kaydırıcısının genişliğini ve yüksekliğini değiştirme
- 20. CSS, genişliğini ve yüksekliğini koruyor mu?
- 21. Standartlar Modunda eleman genişliğini veya yüksekliğini ayarlayın
- 22. Firefox'taki JCrop orijinal görüntü yüksekliğini/genişliğini ekler
- 23. Resim yüksekliğini ve genişliğini göster PHP
- 24. Yazı tipi yüksekliğini ve genişliğini değiştir
- 25. Neden nesne sığdırma genişliğini veya yüksekliğini etkilemiyor?
- 26. Gnuplot çıktısının genişliğini ve yüksekliğini artırın
- 27. UITableView'a temel altbilgi ayarlama
- 28. CollapsingToolbarLayout öğesinde paralaks görüntüsünün başlangıç yüksekliğini ayarlama
- 29. Datatables: Değerleri temel alarak hücre rengini değiştir
- 30. Bash: dosya tarih damgasını temel alarak sil