2017-02-09 5 views
0
viewParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 
      viewParams.setMargins(15, 15, 15, 0); 
    TextView text = new TextView(mContext); 
    text.setLayoutParams(viewParams); 
    text.setGravity(Gravity.CENTER_VERTICAL); 
    text.setPadding(50,50,50,50); 
    text.setBackground(mContext.getResources().getDrawable(R.drawable.exp_comments)); 

私のテキストビューには、上部と下部のパディングが必要です。 テキストビューの周りに緑色の長方形の境界線を持つ背景を設定しました。wrap_contentを使用してテキストビューの上端、下端をパッキング

高さをwrap_contentで設定しました。 これは、境界がテキストの真上にあることを意味します。 境界線とテキストの上下の間隔を広げたいと思います。 したがって、setPadding()メソッドとsetPaddingRelative()メソッドを試しました。 しかし、動作しません....

答えて

1

setPaddingメソッド値はピクセル単位です。 dpをピクセルに変換し、パディングを設定する必要があります。

int valueInDp = 50; 
Resources r = getResources(); 
int px = (int) TypedValue 
    .applyDimension(TypedValue.COMPLEX_UNIT_DIP, valueInDp, r.getDisplayMetrics()); 
text.setPadding(px,px,px,px); 
+0

は、左と右の罰金働きました。問題は、上部と下部のパッドが機能していないことです。私は高さに 'wrap_content'と関係があると思う。しかし、私は正確になぜかわからない..... –

+0

私はそれがあなたのレイアウトに何かだと思う、ビューはレイアウトの他のものに依存し、それは下と上の余白を追加することができません。スクリーンショットを送信するか、レイアウトがどのように表示されるかをコード化する –

0

変更する上下のパディング、私は上記のコードでパディングを設定しようとしたとき、

text.setPadding(50,100,50,100); 
関連する問題