Kısa Cevap: bir kabın tüm çocuk görüşlerinin yerçekimini kontrol etmek android:gravity
veya kullanmak setGravity()
; kullanmak android:layout_gravity
ya da setLayoutParams()
bir kap içinde tek bir bakış kontrol yerçekimi.
Uzun hikaye: LinearLayout
veya gibi doğrusal bir düzen konteynerindeki yerçekimini kontrol etmek RadioGroup
için iki yaklaşım vardır:
1) Bir LinearLayout
kabın TÜM alt görünümlerinin yerçekimini ( kitabınızda yaptığınız gibi ) kontrol etmek için, düzen XML dosyasında (kodda android:gravity
değil android:layout_gravity
) düzeninde (değil ) kullanın setGravity()
.
2) Alt görünümünün kabındaki yerçekimini denetlemek için android:layout_gravity
XML özniteliğini kullanın . Kod olarak, LinearLayout.LayoutParams
görüşün alınması ve yerçekiminin ayarlanması gerekir. Yatay olarak yönlendirilmiş bir kapta bir düğmeyi aşağıya ayarlayan bir kod örneği:
import android.widget.LinearLayout.LayoutParams;
import android.view.Gravity;
...
Button button = (Button) findViewById(R.id.MyButtonId);
// need to cast to LinearLayout.LayoutParams to access the gravity field
LayoutParams params = (LayoutParams)button.getLayoutParams();
params.gravity = Gravity.BOTTOM;
button.setLayoutParams(params);
Yatay LinearLayout
konteyner için, çocuk görüşünün yatay yerçekimi birbiri ardına sola hizalanır ve değiştirilemez. Ayar android:layout_gravity
için center_horizontal
hiçbir etkisi olmaz. Varsayılan dikey yerçekimi merkezdir (veya merkez_dönüştür) ve üst veya alt olarak değiştirilebilir. Aslında varsayılan layout_gravity
değer şudur, -1
ancak Android bunu dikey olarak ortaya koymaktadır.
Yatay doğrusal bir kapta alt görünümlerin yatay konumlarını değiştirmek için, alt görünümün layout_weight
kenar boşluğu ve dolgusu kullanılabilir .
Benzer şekilde, dikey Görünüm Grubu kabı için, alt görünümünün dikey yerçekimi birbirinin altına göre hizalanır ve değiştirilemez. Varsayılan yatay ağırlık merkezdir (veya center_horizontal
) ve sola veya sağa değiştirilebilir.
Aslında, düğme gibi bir alt görünümün android:gravity
XML özniteliği ve setGravity()
alt görünümlerini (içindeki metin) denetleme yöntemi de vardır . Button.setGravity(int)
Bu bağlantılıdır developer.android.com girişi .