2010-08-25 40 views
2

我一直在尋找,但找不到一種方法來做到這一點。我希望 能夠在運行時在LinearLayout中重新排列視圖,而不指定 特定的像素位置。對於我的概念驗證,我有 佈局,包含2個TextView,一個紅色和一個黑色。紅色TextView 位於左側。我想要onClick將其設置在右側,而不調整邊距,就好像我重寫了佈局的XML,使用 紅色TextView秒。有沒有辦法做到這一點?我似乎無法通過 找到它。想要在運行時更改LinearLayout佈局

回答

0

我可能是錯的,但這又如何: TextView和其他許多人都有一個setLayoutParams函數,並且可以接受一個LayoutParams對象。

看一看佈局PARAMS http://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html#LinearLayout.LayoutParams%28android.content.Context,%20android.util.AttributeSet%29

一個構造函數的對的LayoutParams可以在上下文中和的AttributeSet。更進一步,屬性集在這裏http://developer.android.com/reference/android/util/AttributeSet.html

如果你看樣本代碼,他們分析一個XML文件來獲取屬性集。也許你可以做同樣的事情?

+0

感謝您的帖子。我最終可能會使用這個XML集作爲一種方法來實現我的最終目標。我能夠通過將2個TextView綁定到可變參數,然後在線性佈局上執行removeAllViews(),然後在黑色文本上執行addView(View v),然後在紅色文本上執行addView(View v),從而得到我的概念證明。我試圖獲得(非常)簡單的拖動,其中每個拖動操作都會提交數據庫更改,並從數據庫中刷新屏幕。 – Tyler 2010-08-25 12:26:38

+0

看看這傢伙: http://www.mail-archive.com/[email protected]/msg44637.html 他寫了他自己的看法。您可以創建類似 的公共類MoveTextView擴展TextView {} 並創建一些移動方法。 – Realn0whereman 2010-08-25 14:02:58