olmasına neden olur. Özel bir View
sahibim. Görüş için kurucuda iki alt görünüm oluşturup ekliyorum. Ancak, LayoutParams.addRule()
kullanmak bazı sorunlara neden oluyor. Bir tarafta görünümü incelemek durumundaLayoutParams'a ABOVE programsal eklenmesi, görünüm yüksekliğinin 0
setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
mLayoutParams = new LayoutParams(width, height);
mLayoutParams.leftMargin = left;
mLayoutParams.topMargin = top;
mImage = new ImageView(getContext());
mImage.setImageDrawable(getResources().getDrawable(R.drawable.my_image_drawable));
mImage.setScaleType(ScaleType.FIT_XY);
mImage.setId(R.id.my_image_id);
addView(mImage, mLayoutParams);
mText = new TextView(getContext());
mText.setText(R.string.my_text);
mText.setId(R.id.my_text_id);
LayoutParams textParams = new LayoutParams(200, 40);
// textParams.addRule(CENTER_HORIZONTAL, TRUE); //Works
textParams.addRule(ABOVE, mImage.getId()); //Doesn't work
addView(mText, textParams);
: Ben ABOVE
kullanmaya çalıştığınızda böyle CENTER_HORIZONTAL
çalışma gibi Kurallar, ancak, Subview İşte 0.
yüksekliğinde biter benim kurucusundaki kodudur Device Monitor ile emülatör, metnin layout_height
olduğunu görebiliyorum, ancak üst, alt ve yükseklik parametreleri 0'dır. measuredHeight
, ekran genişliği ile aynı görünmektedir. Ben kurallar ekleyerek yanlış bir şey yaptığını
- Am?
- Kuralları eklemek için daha iyi bir yer var mı? İlk önce bir şeylerin olması gerekiyor mu?
- Başka alternatifler var mı?
TextView
'un FILL_PARENT, gravite BOTTOM yüksekliğinde olması ve alt kenar boşluğunun görüntü işlerinin yüksekliğine ayarlanması, ancak metnin üzerinde başka bir görünüm ekleyebilmem gerekir ve bunun için çalışmaz.
'Image' öğenizin' TextView 'öğesinin altında olması için bir kural eklemeyi deneyin. Bir şeyler "RelativeLayout" a eklendiğinde, aksi belirtilmedikçe sol üst tarafa eklenirler. Sanırım ne olabilirdi 'Image' için' ImageView 'üzerinde hiçbir yer yok – codeMagic
Ah, üzgünüm, kodumda bunu özledim. 'mLayoutParams', tanımlı bir sol, üst, genişlik ve yüksekliğe sahiptir. Nereye gideceğini bilmek için yeterli olmaz mıydı? @codeMagic, kodu güncelledim. – karl
"ALIGN_BOTTOM" ifadesini "mImage" olarak eklemek hiçbir şeyi değiştirmez. Bunun yerine "BELOW" olarak değiştirirsem, dairesel bağımlılık hatası alıyorum. Metnin resmin üzerinde olmasını ve resmin sabit bir konumunun olmasını istiyorum. – karl