我檢查了很多答案,但目前爲止沒有任何幫助。自定義TextView的邊距
我試圖擴展android的TextView,並在代碼中設置這個自定義視圖的邊距,因爲我要在按鈕按下和類似的東西上實例化它們。它被添加到LinearLayout。這是關於我得到的:
public class ResultsView extends TextView {
public ResultsView(Context context) {
super(context);
LinearLayout.LayoutParams layout = new LinearLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
layout.setMargins(15, 15, 15, 15);
setLayoutParams(layout);
}
}
任何地方都沒有保證金的跡象。
編輯:我可能想要添加,如果我在xml中分配一個邊距值,它確實有效。
耶!這真的做到了,謝謝!實際上我曾嘗試過類似的方法,但是使用onFinishInflate,這並不奏效。你知道這在演出方面有多好嗎?我應該更好地添加一個布爾值來檢查我們是否已經設置了一次? – tom
我不認爲這是一個巨大的表演影響,但如果你擔心它,你可以添加標誌只做一次,如果你想... –
我認爲你可以逃脫只是修改尺寸傳入onLayout()(例如,left + = leftMargin,right - = rightMargin,top + = topMargin,bottom - = bottomMargin,super.onLayout(changed,left,top,right,bottom)); – kcoppock