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