2016-03-06 86 views
0

我想動態更新片段的佈局。我已經有了一個xml佈局文件。充氣後,我更新了佈局。當我運行應用程序時,它會進行轉換。從xml佈局到以編程方式更改一個。爲什麼會發生這種轉變以及如何克服這一點。我搜查了很多,但無法解決這個問題。以編程方式更新片段的佈局

我膨脹了片段的onCreateView方法中的佈局。並使用 更新應用UIUI.setUpUIForCurrentView(rootView,getContext());

這裏是代碼:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 

    if (rootView == null) { 
     rootView = inflater.inflate(R.layout.specific_current_details, 
       container, false); 
     init(); 
     ApplicationUIUtils.setUpUIForCurrentView(rootView, getContext()); 
     rootView.invalidate(); 
    } 
    return rootView; 
} 
+0

不確定這是幹什麼的:'ApplicationUIUtils.setUpUIForCurrentView(rootView,getContext());' – Gudin

+0

我沒有承認你的問題。你想做什麼?更新視圖內容或轉換?你將你的片段靜態放置在activity xml中? – jonathanrz

+0

我想根據各種設備重新定位所有視圖,而不進行任何轉換。 – Patriotic

回答

1

什麼是的init()

爲什麼你需要這樣做?

ApplicationUIUtils.setUpUIForCurrentView(rootView, getContext()); 
rootView.invalidate(); 

當創建一個片段,onCreateView(...)將產生片段的視圖並進行更新。

如果您想要添加更多視圖的對象,可以在onCreateView(...)中執行。要爲不同的設備創建不同的視圖,您必須創建不同的流程來修改返回的rootview。

閱讀:Supporting Different Devices

+1

這是一個答案或什麼? –

0

沒有找到滿意的答案我只是讓所有的意見知名度=「水漲船高」,在XML,然後重新定位代碼使setVisibility(View.VISIBLE);其中至少刪除過渡問題,但與以前相同的時間加載。