android動態設置margin
❶ android動態創建布局怎麼設置right
TextView tv = new TextView(this);
tv.setRight(10);
首先利用這個Activity創建一個TextView,然後設置它的Right不就行了
❷ Android 自定義控制項 動態設置高度
Android動態改變View控制項大小的方法:
1、聲明控制項參數獲取對象 LayoutParams lp;
2、獲取控制項參數: lp = 控制項id.getLayoutParams();
3、設置控制項參數:如高度。 lp.height -= 10;
4:、使設置生效:控制項id.setLayoutParams(lp);
例如如要把Imageview下移200px: ImageView.setPadding( ImageView.getPaddingLeft(), ImageView.getPaddingTop()+200, ImageView.getPaddingRight(), ImageView.getPaddingBottom());
❸ Android中怎麼動態控制padding
在代碼中調用控制項的setPadding(int left, int top, int right, int bottom)方法就可以動態的發變了
❹ android布局中怎麼設置外邊距
android 中有兩種邊距:外邊距margin 和內邊距 padding
假設一個控制項A和一個控制項B
設置A控制項的外邊距(上下左右)為10dp的代碼為:
margin:10dp;
設置A空間的外邊距(上)為10dp的代碼為:
margin-top:10dp;
其他以此類推
❺ Android Dialog 設置Margin方式總結
在日常開發中,總是會遇到各種Dialog的使用,調整根據UI設計的不同,會經常調整Dialog在屏幕中的位置,這篇文章主要介紹,在使用 DialogFragment 時設置Margin的幾種方式。
如下是最後實現的效果:
設置兩邊margin效果:
設置頂部margin效果:
全屏的Dialog設置頂部Margin:
這個比較容易,主要就是設置一個高度wrap_content,寬度match_parent的dialog,然後在dialog的布局中設置margin就可以了。
如下是xml文件:
然後在DialogFragment的onResume里對Window做一些處理:
這種情況margin可以通過 WindowManager.LayoutParams 的 verticalMargin 屬性來實現。 verticalMargin 和xml裡面設置的layout_margin不一樣, verticalMargin 是通過設置一個0-1的float變數,來標識margin在屏幕中的佔比。
如下是在DialogFragment的onResume中的處理:
xml文件(和1的類似,沒有什麼特別):
這里如果使用2中的方法,沒有任何效果。這里使用另外一種方式實現-- insetDrawable 。
這里的實現是在xml裡面寫一個 <inset> :
在DialogFragment的onResume方法中:
❻ 動態設置 android:layout_marginTop 怎麼設置
LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); layoutParam.setMargins(10, 20, 10, 0);代碼中,把這個 layoutParam 給控制項應該就可以了
❼ Android如何在java代碼中設置margin
1、比如imageView,有一個getLayout方法,獲得的layout在強轉類型到LinearLayout或者其他,然後再設定margin什麼的。
2、我們平常可以直接在xml里設置margin,如:
Xml代碼 <ImageViewandroid:layout_margin="5dip"android:src="@drawable/image"/>
但是有些情況下,需要在java代碼里來寫,可是View本身沒有setMargin方法,怎麼辦呢?
通過查閱android api,我們發現android.view.ViewGroup.MarginLayoutParams有個方法
setMargins(left, top, right, bottom)。
其直接的子類有: FrameLayout.LayoutParams, LinearLayout.LayoutParams and RelativeLayout.LayoutParams。
❽ Android 如何在Java代碼中手動設置控制項的marginleft
1、定義LayoutParams
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);//定義一個LayoutParams
2、在LayoutParams中設置marginLeft
layoutParams.setMargins(20,0,0,0);//4個參數按順序分別是左上右下
3、把這個LayoutParams設置給控制項
mView.setLayoutParams(layoutParams); //mView是控制項
❾ Android 通過配置,設置margin-Left和margin-Top相對的距離
下面推薦三種實現方式:
代碼實現 先計算屏幕寬高 動態設置控制項margin屬性
布局實現 利用LinearLayout的layout_weight屬性實現
藉助google官方的百分比庫(percent)
比較下三種實現方式優劣
第一種實現較簡單 但是比較麻煩 復用性不高 如果是動態的比例放置控制項推薦使用
第二種在布局中寫 於代碼解耦 但容易造成布局冗餘 影響效率
第三種適配性好 同時兼容平板 如果對適配要求比較高 可以考慮使用