導航:首頁 > 操作系統 > android代碼設置margin

android代碼設置margin

發布時間:2023-01-31 17:29:57

android為什麼設置params.bottomMargin無效

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());


控制項之間的間距有兩種設置:

  1. android:layout_margin="10dp" 外邊距

  2. android:padding="10dp" 內邊距

Ⅱ Android開發中margin語法怎麼用

margin 是外邊距的意思。

在XML中 :

不設置margin:
這些屬性;



也可自己試下 padding;

Ⅲ 動態設置 android:layout_marginTop 怎麼設置

LinearLayout.LayoutParams layoutParam = new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); layoutParam.setMargins(10, 20, 10, 0);代碼中,把這個 layoutParam 給控制項應該就可以了

Ⅳ Android的布局屬性中padding和margin的區別

本文將講述HTML和CSS的關鍵—盒子模型(Box model). 理解Box model的關鍵便是margin和padding屬性, 而正確理解這兩個屬性也是學慣用css布局的關鍵.

注:為什麼不翻譯margin和padding? 原因一, 在漢語中並沒有與之相對應的詞語; 原因二: 即使有這樣的詞語, 由於在編寫css代碼時, 必須使用margin和padding, 如果我們總用漢語詞語代替其來解釋的話, 到了實際應用時容易混淆margin和padding的概念.

如果有一點Html基礎的話, 就應該了解一些基本元素(Element), 如p, h1~h6, br, div, li, ul, img等. 如果將這些元素細分, 又可以分別歸為頂級(top-level)元素,塊級(block-level) 元素和內聯(inline)元素.

1. Block-level element: 指能夠獨立存在, 一般的塊級元素之間以換行(如一個段落結束後另起一行)分隔. 常用的塊級元素包括: p, h1~h6, div, ul等;

2. Inline element: 指依附其他塊級元素存在, 緊接於被聯元素之間顯示, 而不換行. 常用的內聯元素包括: img, span, li, br等;

3. Top-level element: 包括html, body, frameset, 表現如Block-level element, 屬於高級塊級元素.

塊級元素是構成一個html的主要和關鍵元素, 而任意一個塊級元素均可以用Box model來解釋說明.

Box Model:任意一個塊級元素均由content(內容), padding, background(包括背景顏色和圖片), border(邊框), margin五個部分組成. 立體圖如下(Fig. 1):

即ab=cd=30px, ID1的margin-top/bottom=10px被折疊了, 而且ID1應有的margin黑色背景也一同被折疊消失了.

為什麼會折疊:造成以上現象的原因是, 我們在css中並沒有聲明id為ID1的元素div的height(高), 因此它的高便被設為auto(自動)了. 一旦其值被設為auto, 那麼瀏覽器就會認為它的高為子元素ID2的border-top到border-bottom之間的距離, 即Fig. 4中bc的長度, 所以子元素ID2的margin-top/bottom(30px)就伸出到了父元素ID1之外, 出現了Fig. 4中ab與cd之間的空白區域. 因此父元素ID1的margin-top/bottom因子元素的」紅杏出牆」而被折疊消失了.

如何解決折疊問題:可能大家最初想到的辦法就是根據折疊發生的原因—auto, 來解決問題. 但是, 在實際操作中, 某些元素如div, h1, p等, 我們是不可能預先知道它的高是多少的, 因此在css文件中是不能常規通過聲明元素的高來解決折疊問題.

我們需要在css文件中加入如下代碼(紅色部分):

#ID1 {
background-color: #333;
color: #FFF;
margin-top: 10px;
margin-bottom: 10px;
padding-top:1px;
padding-bottom:1px;
}

或是:

#ID1 {
background-color: #333;
color: #FFF;
margin-top: 10px;
margin-bottom: 10px;
border-top:1px solid #333;
border-bottom:1px solid #333;
}

通過增加以上代碼, 便可使瀏覽器重新計算ID1的高, 使其為子元素ID2的margin-top/bottom外緣(outer top/bottom)之間的距離, 即Fig. 3中be的距離.

簡單說來:
也就是說 設置margin 那麼他所佔據的空白地方會是在邊框外面
設置padding 他所佔據的空白地方是在邊框裡面
而且在IE6 一下的版本中 存在這padding 計算錯誤的BUG
CSS 的寬度屬性本來是不包含padding的 但是 在ie下面有的時候寬度是包含padding 所以 建議在不熟悉CSS 在定位的時候 都用margin屬性

Ⅳ 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布局中怎麼設置外邊距

android 中有兩種邊距:外邊距margin 和內邊距 padding
假設一個控制項A和一個控制項B
設置A控制項的外邊距(上下左右)為10dp的代碼為:
margin:10dp;
設置A空間的外邊距(上)為10dp的代碼為:
margin-top:10dp;
其他以此類推

Ⅶ Android中margin和padding的區別

1、區別:
1)android:layout_marginLeft指該控制項距離邊父控制項的邊距;
2)android:paddingLeft指該控制項內部內容,如文本距離該控制項的邊距。

2、舉例:
當按鈕分別設置以上兩個屬性時,得到的效果是不一樣的。
android:paddingLeft="30px":
按鈕上設置的內容(例如圖片)離按鈕左邊邊界30個像素。
android:layout_marginLeft="30px"
整個按鈕離左邊設置的內容30個像素
這二個屬性是相對的,假設B是A的子控制項,設置B的margin和設置A的padding能達到相同的效果。

Ⅷ Android 通過配置,設置margin-Left和margin-Top相對的距離

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"android:layout_height="match_parent"

android:orientation="vertical">

<Viewandroid:layout_weight="1.0"

android:layout_width="match_parent"android:layout_height="0dp"/>

<LinearLayoutandroid:layout_weight="2.0"

android:layout_width="match_parent"android:layout_height="0dp"

android:orientation="horizontal">

<Viewandroid:layout_weight="1.0"

android:layout_width="0dp"android:layout_height="match_parent"/>

<LinearLayoutandroid:layout_weight="2.0"

android:layout_width="0dp"android:layout_height="match_parent">

//這個布局應該就是你要的

</LinearLayout>

</LinearLayout>

</LinearLayout>

Ⅸ Android如何在java代碼中設置margin

在xml里設置margin,如:<ImageView android:layout_margin="5dip" android:src="@drawable/image" />但是有些情況下,需要在java代碼里來寫,通過查閱android api,android.view.ViewGroup.MarginLayoutParams有個方法setMargins(left, top, right, bottom). 其直接的子類有: FrameLayout.LayoutParams, LinearLayout.LayoutParams and RelativeLayout.LayoutParams.:LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);lp.setMargins(10, 20, 30, 40);imageView.setLayoutParams(lp);

Ⅹ Android 如何在Java代碼中手動設置控制項的marginleft

1、定義LayoutParams

LinearLayout.LayoutParamslayoutParams=newLinearLayout.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相關的資料

熱點內容
查看ipdns命令 瀏覽:260
命令與征服3凱恩之怒漢化 瀏覽:865
linuxc一站式編程 瀏覽:96
比心app男的識別女的怎麼樣 瀏覽:637
線切割pdf 瀏覽:638
命令與征服3泰伯利亞戰爭109修改器 瀏覽:521
看著很解壓的景色 瀏覽:896
sqlite在Android中應用 瀏覽:77
pdf虛擬列印機ofmac 瀏覽:354
九江php招聘 瀏覽:376
怎麼在ubuntu編程 瀏覽:256
思科保存的命令是什麼意思 瀏覽:958
主力控制副圖源碼及套利選股公式 瀏覽:813
兄弟php培訓怎麼樣 瀏覽:678
金炯泰編譯器 瀏覽:860
涼山參加青少年編程培訓班報名 瀏覽:598
程序員開發者模式 瀏覽:199
電腦有圖標的文件夾是什麼 瀏覽:350
app停運了怎麼恢復 瀏覽:188
u盤加密密碼怎麼刪除 瀏覽:90