日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Andriod动态布局

發(fā)布時(shí)間:2025/3/15 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Andriod动态布局 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1。近幾日接入一個(gè)第3方Geesee的直播視頻,碰到一個(gè)動(dòng)態(tài)布局的問(wèn)題,有感而發(fā)

? 需求:點(diǎn)擊按鈕,切換視頻View與文檔View的位置。而且文檔那個(gè)小窗口是可以全屏拖動(dòng)的,所以

??? ?沒(méi)有將兩個(gè)View寫在同一層級(jí)。

? ?

? 問(wèn)題場(chǎng)景:第3方的Demo將視頻和文檔各自寫了個(gè)Fragment,我布好局之后,發(fā)現(xiàn)切換兩者的位置

????出現(xiàn)了極大的困難。

????

????

????網(wǎng)上搜了2種方法,

????第1種方法:利用LayoutParams,RelativeLayout等設(shè)置

????一些屬性,但是要求兩個(gè)交換位置的View在同一個(gè)RelativeLayout里,當(dāng)然不行。


????第2種方法:利用Fragment的remove 、replace、add等,發(fā)現(xiàn)同一個(gè)Fragment是不能往這個(gè)

????View添加之后再往另一個(gè)View添加的,否則會(huì)出現(xiàn)Can't change container ID of Fragment ?這個(gè)

????錯(cuò)誤


????終于,還是原始的removeAllViews與addView解決了問(wèn)題。

? ? ? ? ? ????????????? ?如上面的代碼片斷,不直接將代碼插入到原有的布局中,而是先將fragment添加到中間View

? ,再將中間View添加到原有的布局中,再將Fragment添加到中間View中。

? ? ?最后通過(guò)對(duì)中間View動(dòng)態(tài)添加和刪除就能實(shí)現(xiàn)視頻區(qū)和文檔區(qū)的位置對(duì)換

??? ? 注意一點(diǎn),將一個(gè)View重新添加到另外一個(gè)parent之前將將這個(gè)View原來(lái)的parent的子View全部

?清除,否則會(huì)出現(xiàn)??The specified child already has a parent. You must call removeView() on the child's parent first. 這個(gè)錯(cuò)誤

?

?

轉(zhuǎn)載于:https://blog.51cto.com/4259297/1850851

總結(jié)

以上是生活随笔為你收集整理的Andriod动态布局的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。