我們常用的linearlayout,等都屬於流布局,在流布局中如何移動控制項呢? 我決定做個嘗試。雖然可以使用絕對布局,但我不傾向使用這個布局。那麼看看我的方式吧。
記得margin這個屬性嗎,我們就用來它來控制控制項的位置,改動它的值將會產生移動的效果。
如上面的**所示,margin的屬性存在於 布局引數layoutparams中。
1。我們先獲得該控制項的 布局引數 然後轉型為viewgroup.marginlayoutparams
2. 更改margin的數值,通過更改 該控制項的上下左右偏移量(相對于父容器控制項的原點),來更改控制項的呈現位置。
3. 呼叫requestlayout 請求重新布局。
通過上面的方式,我們可以產生控制項移動的效果。
同時,我們了解下 scroolby這個方法,該方法可以產生控制項的滾動效果。而看起來移動了該控制項的子內容。
textview1.scrollby(15, 15);
該方法需要兩個引數,x軸偏移量和y軸偏移量。執行**後,我們看到產生了 類似 滾動條移動後,控制項 上移 的效果。看起來像是重繪了檢視內容,而變化了繪製的座標原點。
類似的還有個scroolto方法,該方法需要制定目的偏移量。
貼完整的示例**如下:
xmlns:tools=""
android:layout_width="match_parent"
android:layout_height="match_parent" >
package
com.example.zyf.demo;
import android.os.bundle;
import android.view.menu;
import android.view.view;
import android.view.view.onclicklistener;
import android.view.viewgroup;
import android.view.viewgroup.layoutparams;
import android.widget.button;
import android.widget.linearlayout;
import android.widget.textview;
public
class mainactivity
extends activity
});btnscroll = (button) findviewbyid(r.id.btnscroll);
btnscroll.setonclicklistener(
new onclicklistener()
});btnscrollto1 = (button) findviewbyid(r.id.btnscrollto1);
btnscrollto1.setonclicklistener(
new onclicklistener()
});btnscrollparent = (button) findviewbyid(r.id.btnscrollparent);
btnscrollparent.setonclicklistener(
new onclicklistener()
});txtstate = (textview) findviewbyid(r.id.txtstate);
printfstate();
}private string gettextstateofview(view view, string title)
private
void printfstate()
private
void printf(string str)
@override
public
boolean oncreateoptionsmenu(menu menu)
}
iOS開發 Swift 總結13 if 控制流
第2部分 故事的高階要素 程式語言swift的高階部分 1 if 控制流 1.1 概念通俗講解 if控制流通俗來講就是判斷條件為真時,執行一段 1.2 定義簡潔介紹 1 if 語句 if 判斷條件舉例,有乙個變數age,如果age大於5時,我們讓age等於5,如下。var age 10if age ...
Android開發 新手必看篇 IO流
io流 sharedpreferences 本地儲存資料 sharedpreferences介面主要負責讀取preferences資料 getsharedpreferences 檔名 讀寫模式 23兩種引數以不被官方推薦使用 sharedpreferences preferences getshar...
在android系統中開發DLNA
有比較好的upnp介紹和dlna的思路開發 開發人員必須知道在github上選擇好東西 基於cling開發的dlna應用 5 基於cybergarage庫的dlna開發,海思的dlna應用是用的此sdk 再分享一下我老師大神的人工智慧教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們...