2016-01-26 28 views
0

我有一個只有文本視圖的片段。 在我的應用程序中的一個點上,我想旋轉片段90度並將其轉換爲設備屏幕的一個角落。這工作正常。現在的問題是,textview的寬度現在應該改變。現在它的寬度應該是最高的。因此,我所做的是我計算的兩個值,並設置這樣的佈局寬度:如何改變動畫後的textView寬度?

LayoutParams params = fragment.getLayoutParams(); 
     params.height = text.getHeight(); 
     params.width = deviceHeight; 
     fragment.setLayoutParams(params); 

現在正在顯示的高度正確的,但寬度不。 而是寬度不會改變。即使當我把寬度設置爲一個隨機值(如500),它不會改變...

這是因爲動畫?爲什麼我不能改變我的textView的寬度?

編輯:

我的文字意見寬度WRAP_CONTENT這是否有什麼與我的問題?

+0

你有沒有試圖改變佈局PARAMS後使用'requestLayout'? – Kevin

+0

@凱文謝謝您的回覆!我沒有,但它沒有改變任何東西。 – joohaha

+0

什麼是「deviceHeight」 – TejjD

回答

0

你說你想改變TextView的寬度。

您正在獲取片段的layoutParams(),這表示您正在設置的寬度和高度是針對片段的,而針對相關視圖的則是而不是

這並不理想。我同意ViewGroups確實有LayoutParams。您首先獲取的是片段的layoutParams()和TextView的不是。更改如下:

LayoutParams params = textView.getLayoutParams(); 

如果這不起作用,這將;

你需要得到的觀點,並set the width of that,如當你需要:

TextView textView = (TextView) findViewById(R.id.myTextView); 
textView.setWidth(<the_width>; 
+0

感謝您的答案,但這不是問題所在。我嘗試了這個時間+我仍然需要重新調整片段,否則textView比片段大。 – joohaha