Android 動態設定margin
android的view中有setPadding,但是沒有直接的setMargin方法。如果要在程式碼中設定該怎麼做呢?
可以通過設定view裡面的 LayoutParams 設定,而這個LayoutParams是根據該view在不同的GroupView而不同的。
佈局檔案如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:id="@+id/ceshi_ly" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/darker_gray" > <TextView android:id="@+id/ceshi_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@android:color/holo_green_dark" android:text="測試動態設定margin" /> </LinearLayout> </RelativeLayout>
程式碼如下:
效果如下:package com.android.testdemo; import android.app.Activity; import android.os.Bundle; import android.widget.LinearLayout; import android.widget.LinearLayout.LayoutParams; import android.widget.TextView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView ceshiTv = (TextView) findViewById(R.id.ceshi_tv); LinearLayout.LayoutParams lp = (LayoutParams) ceshiTv.getLayoutParams(); lp.setMargins(30, 50, 22, 10); ceshiTv.setLayoutParams(lp); } }
當然也可以把其封裝成方法,如下:
public static void setMargins (View v, int l, int t, int r, int b) { if (v.getLayoutParams() instanceof ViewGroup.MarginLayoutParams) { ViewGroup.MarginLayoutParams p = (ViewGroup.MarginLayoutParams) v.getLayoutParams(); p.setMargins(l, t, r, b); v.requestLayout(); } }
相關推薦
Android 動態設定margin
android的view中有setPadding,但是沒有直接的setMargin方法。如果要在程式碼中設定該怎麼做呢? 可以通過設定view裡面的 LayoutParams 設定,而這個Lay
Android動態設定Margin的方法
Android動態設定Margin : 一、 如果這個控制元件實在XML中定義的 比如Textview LinearLayout.LayoutParams lp = (LinearLayou
Android 動態設定padding跟margin的問題
最近要做到動態設定padding跟margin,設定它們四個引數都是int型別。比如這裡設定了10,,可是這個數又是代表什麼意思呢?一直很好奇它們的單位問題,所以這就造成了,在不同手機上的適配問題。有
Android動態設定佈局寬高
例如設定一個圖片寬高 關鍵程式碼: //取控制元件當前的佈局引數 LinearLayout.LayoutParams params = (LinearLayout.LayoutParams) imageView.getLayoutParams(); //設定寬度值 params.wi
ScrollView動態設定Margin後不能滑動解決方法
ScrollView的父佈局是ViewGroup,所有需要用ViewGroup來設定param,正確方式如下: 若設定margin後內容顯示不全,說明你設定的margin低於了你覆蓋文字的控制元件的高度 ViewGroup.MarginLayoutParams params= (View
Android 動態設定佈局屬性
Android在XML檔案中寫佈局很方便, 但有時候不夠靈活, 有時候我們需要動態新增View或者ViewGroup. 點選動態新增TextView: private LinearLayout mLinearLayout; private in
Android動態設定GridView的高度,固定column,實現高度自適應
動態設定GridView的高度,固定column,根據gridview中的item個數設定高度: 呼叫以下方法: [java] view plain copy print ?
Android動態設定字型顏色
步驟:1.在values資料夾下的strings.xml檔案裡新增顏色:比如 <color name="ccc">#ccc</color> 2.如果你直接這樣寫: tv.setTextColor(R.color.ccc); 理論上是不行的,不過我發現
android 動態設定控制元件的高度,使用對應佈局中的dp值
1. 獲取你要進行改變的控制元件的佈局 LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) myView.getLayoutParams(); 2.設定佈局的高度 後面的引數就是對應
Android 動態設定Shape
引言:之前涉及到設定view背景的地方几乎都是通過寫<shape>標籤的方式實現的。慢慢的,專案裡的xml越來越多,命名都成問題了!於是就想用動態設定shape的方式來替換靜態配置shape標籤。 靜態配置shape 這裡對形狀可繪製物件
Android 動態設定TextView的drawableLeft等屬性
首先,我們在開發過程中,會經常使用到android:drawableLeft="@drawable/ic_launcher"這些類似的屬性: 關於這些屬性的意思,無非是在你的textView
android 動態設定控制元件大小
ImageView view = new ImageView(context);view.setLayoutParams(new LinearLayout.LayoutParams(30, 30)); view.setpadding(0,0,0,0); LayoutP
Android——動態設定view背景顏色setBackgroundColor
setBackgroundColor 用於動態設定view背景顏色 今天寫程式碼的時候遇到個小問題 動態設定的時候用Color.GRAY,系統自己帶著的顏色,是沒有問題的 但是用自己定義的顏色,就不生效。 然後我搜索到了下面這個網址 請瀏覽上
Android,View設定margin
Android的view中有setPadding,但是沒有直接的setMargin方法。如果要在程式碼中設定該怎麼做呢? 可以通過設定view裡面的 LayoutParams 設定,而這個LayoutParams是根據該view在不同的GroupView而不同的。 Ima
Android動態設定控制元件高度
GridView mGrid= (GridView) findViewById(R.id.gridview); // 取控制元件mGrid當前的佈局引數 LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) m
Android View設定Margin
準備工作: 佈局: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http:/
Android動態設定佈局,為LinearLayout動態新增子控制元件
View view = getActivity().getLayoutInflater().inflate(R.layout.category_select_popupwindow_right, null); LinearLayout line
android 動態設定drawableTop,drawableLeft,drawableRight,drawableBottom.
android 動態設定drawableTop。 通常情況下我們都是在佈局檔案中設定drawableTop,drawableLeft,drawableRight,drawableBottom.<TextView android:id="@+id/ti
android 動態設定ImageView圖片
以下設定方法將會用圖片填充剩下的螢幕空間,圖片會變形: ImageView1.setBackgroundDrawable(getResources().getDrawable(R.drawable.http_imgload1)); 以下設定方法填充設定的ImageView
Android 動態設定 ListView 和 GridView 高度
1 需求分析 我們可能會有這樣的需求,ListView添加了一個頭部,然後頭部裡面有一個ListView或者GridView,當你按照正常的方式給頭部的ListView或者GridView設定資料的時候,發現它只能顯示一行!!!這可不是我想要的。 那麼怎