android:layout_gravity=end,android layout_gravity 和gravity
LinearLayout有兩個(gè)非常相似的屬性:
android:gravity與android:layout_gravity。(RelativeLayout是沒(méi)有android:layout_gravity屬性的)
他們的區(qū)別在于:
android:gravity 屬性是對(duì)該view中內(nèi)容的限定.比如一個(gè)button 上面的text. 你可以設(shè)置該text 相對(duì)于view的靠左,靠右等位置.(文本圖片等)
android:layout_gravity是用來(lái)設(shè)置該view相對(duì)與父view 的位置.比如一個(gè)button 在linearlayout里,你想把該button放在linearlayout里靠左、靠右等位置就可以通過(guò)該屬性設(shè)置.
即android:gravity用于設(shè)置View中內(nèi)容相對(duì)于View組件的對(duì)齊方式,而android:layout_gravity用于設(shè)置View組件相對(duì)于Container的對(duì)齊方式。
代碼實(shí)現(xiàn):
查看SDK發(fā)現(xiàn)有一個(gè)setGravity方法, 顧名思義, 這個(gè)應(yīng)該就是用來(lái)設(shè)置Button組件中文字的對(duì)齊方式的方法了
LinearLayout 的?LayoutParams, 果然有所發(fā)現(xiàn), 里面有一個(gè)?gravity 屬性,相信這個(gè)就是用來(lái)設(shè)置組件相對(duì)于容器本身的位置了
Button button = new Button(this);
button.setText("One");
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
//此處相當(dāng)于布局文件中的Android:layout_gravity屬性
lp.gravity = Gravity.RIGHT;
button.setLayoutParams(lp);
//此處相當(dāng)于布局文件中的Android:gravity屬性
button.setGravity(Gravity.CENTER);
LinearLayout linear = new LinearLayout(this);
//注意,對(duì)于LinearLayout布局來(lái)說(shuō),設(shè)置橫向還是縱向是必須的!否則就看不到效果了。
linear.setOrientation(LinearLayout.VERTICAL);
linear.addView(button);
setContentView(linear); 在RelativeLayout設(shè)置gravity屬性
params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.CENTER_IN_PARENT);
mContainer.addView(progress,params);
總結(jié)
以上是生活随笔為你收集整理的android:layout_gravity=end,android layout_gravity 和gravity的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android百度地图自动定位
- 下一篇: GAN综述总结笔记