0

背景リソースではなく、コード内のテキストのみにマージンを設定したい。どうすればこれを行うことができますか?

背景は9パッチ画像です。

これが私のコードのスニペットです。

    StringBuffer sBuffer = new StringBuffer();
    sBuffer.append(sent + ":\n");
    sBuffer.append(username + ":\n");
    sBuffer.append(message + "\n");

    RelativeLayout layout = new RelativeLayout(this);
    RelativeLayout.LayoutParams topParams = new RelativeLayout.LayoutParams(
            android.view.ViewGroup.LayoutParams.MATCH_PARENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT);
    topParams.setMargins(10, 10, 10, 10);
    layout.setLayoutParams(topParams);

    TextView valueTV = new TextView(this);
    RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
            android.view.ViewGroup.LayoutParams.WRAP_CONTENT, android.view.ViewGroup.LayoutParams.WRAP_CONTENT);

    if (username.equals(friend.userName)) {
        params.addRule(RelativeLayout.ALIGN_PARENT_LEFT);
        valueTV.setBackgroundResource(R.drawable.chat_bub_left_blue);
        params.setMargins(20, 10, 10, 10);

    } else {
        params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
        valueTV.setBackgroundResource(R.drawable.chat_bub_right_green);
        params.setMargins(60, 10, 10, 30);
    }

    valueTV.setLayoutParams(params);
    valueTV.setText(sBuffer);
4

2 に答える 2

0

パラメータをテキストビューに適用する必要があります。コードで margin パラメーターを使用する場合は、このようにすることができます。

valueTV.setLayoutParams(params);
于 2013-10-24T14:11:20.767 に答える