中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Android中實現動態布局

發布時間:2021-03-26 17:07:23 來源:億速云 閱讀:296 作者:Leah 欄目:移動開發

這篇文章將為大家詳細講解有關怎么在Android中實現動態布局,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

三種布局情況(注意不是方式)

1、無xml : 一個父類布局包含一個子父類布局,子父類布局中包含ImageView

2、無xml : 只有一個父類布局包含一個ImageView

3、有xlm布局: 通過布局ID 來進行動態布局添加

總結了下其實步驟如下:

無xml布局:

1、setContentView()之前new一個需要的布局layout,再將layout放入setContentView()

2、new 出需要的控件設置好參數(id、text···)

3、new LayoutParams 設置好控件的大小、位置屬性(這里感覺和xml設置控件屬性是一樣的)

4、最后將params和控件放入之前new的layout即可  

有xml布局:

1、setContentView()和以前一樣放入layout.xml

2、通過findViewById()找到要進行添加的布局控件

之后的步驟和無xml布局的2、3、4一樣

代碼如下:

1、無xml : 一個父類布局包含一個子父類布局,子父類布局中包含ImageView

RelativeLayout relativeLayout = new RelativeLayout(this);
 setContentView(relativeLayout);
 
 RelativeLayout rl = new RelativeLayout(this);
 rl.setId(11);
 ImageView imageView = new ImageView(this);
 imageView.setId(1);
 imageView.setImageResource(R.mipmap.ic_launcher);
 
 RelativeLayout.LayoutParams lpRl = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
  ViewGroup.LayoutParams.WRAP_CONTENT);
 rl.setGravity(RelativeLayout.CENTER_IN_PARENT); //設置imageView 在 rl中的位置為居中
 rl.addView(imageView, lpRl);
 
 RelativeLayout.LayoutParams lpParent = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
  ViewGroup.LayoutParams.MATCH_PARENT);
 relativeLayout.addView(rl,lpParent);

2、無xml : 只有一個父類布局包含一個ImageView

RelativeLayout relativeLayout = new RelativeLayout(this);
 setContentView(relativeLayout);
 
 ImageView imageView = new ImageView(this);
 imageView.setId(2);
 imageView.setImageResource(R.mipmap.ic_launcher);
 //params 可以理解為 imageView的位置、大小參數集合
 RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
 params.addRule(RelativeLayout.CENTER_IN_PARENT);
 relativeLayout.addView(imageView,params);

3、有xlm布局: 通過布局ID 來進行動態布局添加

public class ThirdActivity extends AppCompatActivity {
 
 private LinearLayout mLinearLayout;
 
 @Override
 protected void onCreate(@Nullable Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_third);
 
 mLinearLayout = (LinearLayout) findViewById(R.id.linear_layout);
 ImageView imageView = new ImageView(this);
 imageView.setImageResource(R.mipmap.ic_launcher);
 imageView.setId(31);
 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
 params.setMargins(150, 80, 10, 0);
 mLinearLayout.addView(imageView, params);
 }
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/linear_layout"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">
</LinearLayout>

關于怎么在Android中實現動態布局就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

那曲县| 康平县| 菏泽市| 维西| 巩留县| 张掖市| 洛南县| 津市市| 龙南县| 诸暨市| 乌兰察布市| 宽城| 乐平市| 昌江| 大连市| 嘉禾县| 台州市| 唐河县| 甘孜县| 遵化市| 荣成市| 陆河县| 武安市| 土默特左旗| 成都市| 毕节市| 秦安县| 日喀则市| 白水县| 德昌县| 志丹县| 中江县| 台江县| 卢氏县| 嫩江县| 平陆县| 轮台县| 淮阳县| 章丘市| 鄯善县| 孙吴县|