每當我在ConstraintLayout
中創建像Button
和TextView
這樣的視圖時,它們都會卡在頂部角落,而不是我放置的位置。左上角的ConstraintLayout視圖
我試圖創建新的活動並更改模擬器,但結果仍然相同。
這是發生了什麼事的截圖:
可能是什麼問題?
每當我在ConstraintLayout
中創建像Button
和TextView
這樣的視圖時,它們都會卡在頂部角落,而不是我放置的位置。左上角的ConstraintLayout視圖
我試圖創建新的活動並更改模擬器,但結果仍然相同。
這是發生了什麼事的截圖:
可能是什麼問題?
如果當您運行在設備上的佈局視圖沒有限制,在位置[0,0](在左上角)繪製。
您必須爲視圖添加至少一個水平和垂直約束。
我想你沒有應用任何約束。
無論是手動應用約束的觀點,或讓佈局編輯器做你使用「推斷約束」按鈕:
當你把一個視圖到PCB編輯器,即使它沒有限制,它仍然保留在你離開它的地方...這只是爲了使編輯更容易
換句話說,視圖將「留在你的地方它「,直到你添加約束。
它在預覽版與您的應用程序中看起來不同的原因是因爲您的XML中的任何內容與tools:
都是going to be removed from the code when your app runs。這些選項僅適用於Android Studio佈局編輯器,並不代表您在代碼運行時應該看到的內容。
而且這可能是麻煩的初學者,因爲
缺少約束,不會造成編譯錯誤
然而
佈局編輯器顯示缺少約束工具欄中有錯誤。要查看錯誤和其他警告,請單擊顯示警告和錯誤(帶數字的紅色按鈕)。爲了幫助您避免丟失的約束,佈局編輯器可以自動與Autoconnect and infer constraints features
我發現即使在佈局編輯器中也會發生這種情況。例如,如果我將「ImageView」放入佈局的中間,它仍會卡在左上角。我必須改變它的尺寸,然後才能移動它,或者做任何事情。這似乎不是記錄的行爲。 – orodbhen
是的,這正是*「留在你離開它的地方」*的意思 –
一個快速,簡單的方法來解決這一問題添加約束你是點擊組件(TextView的,ImageView的,等。)並單擊推斷約束按鈕。它看起來像2個黃色加號。
顯示您的xml代碼。 – tahsinRupam
你想在中心顯示你的按鈕和文字嗎? – tahsinRupam
是的,這正是我試圖做的 –