2016-08-20 74 views
0

正如你可以在下面的圖片看到的,我把一個GradientDrawable作爲textview的背景。GradientDrawable邊框textview croped

結果很奇怪:文本被歪曲了。

Result

而且有代碼:

GradientDrawable border = new GradientDrawable(); 
    border.setColor(0x00FFFFFF); 
    border.setStroke(1,Color.GRAY); 
    border.setCornerRadius(size); 

    EditText surname = new EditText(this); 
    surname.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM); 
    surname.setBackground(border); 
    surname.setTypeface(Stats.fontRegular); 
    FrameLayout.LayoutParams lps = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, size_x); 
    surname.setLayoutParams(lps); 
    view.addView(surname); 

如果你知道一種uncrop文本將是非常有用的,我:)

+0

什麼'size_x',爲什麼你要爲它的高度?這是裁剪文本視圖。 –

回答

0

我發現了一些工作:

當您使用EditText時,看起來視圖內有一些填充。所以,你可以「禁用」它們使用

EditText.setPadding(int left, int top, int right, int bottom) 
0

你可以改變重力此XML代碼:

<TextView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    android:text="@string/**yourstringname**" 
/> 
+0

對不起,但我不使用XML,因爲我幾乎以編程方式設置視圖的每個參數。你可以在Java中看到我已經嘗試改變重力 – Kemix

+0

試着改變這條代碼: surname.setGravity(Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL); – LychmanIT

+0

@LynchmanIT:它不會改變任何東西 – Kemix

0

試試這個:

GradientDrawable border = new GradientDrawable(); 
border.setColor(0x00FFFFFF); 
border.setStroke(1,Color.GRAY); 
border.setCornerRadius(size); 
border.setSize(450, 150);