Kısa Cevap: bir kabın tüm çocuk görüşlerinin yerçekimini kontrol etmek android:gravityveya kullanmak setGravity(); kullanmak android:layout_gravityya da setLayoutParams()bir kap içinde tek bir bakış kontrol yerçekimi.
Uzun hikaye: LinearLayoutveya gibi doğrusal bir düzen konteynerindeki yerçekimini kontrol etmek RadioGroupiçin iki yaklaşım vardır:
1) Bir LinearLayoutkabı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:gravitydeğ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_gravityXML özniteliğini kullanın . Kod olarak, LinearLayout.LayoutParamsgö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 LinearLayoutkonteyner için, çocuk görüşünün yatay yerçekimi birbiri ardına sola hizalanır ve değiştirilemez. Ayar android:layout_gravityiçin center_horizontalhiç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_gravitydeğer şudur, -1ancak 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_weightkenar 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:gravityXML ö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 .