簡體   English   中英

RelativeLayout中的Android Textview寬度

[英]Android Textview width in RelativeLayout

我正在寫一個聊天程序。 在聊天活動中,我的已發送和已接收消息都顯示有EditText,例如氣泡。 我想將Edittexts的寬度設置為其消息的寬度。 在我的代碼中,創建消息時,將以編程方式在relativelayout中創建新的edittext。 我該如何設置?

public void sendmyMessage(String msg){
    // mRR is my RelativeLayout
    RelativeLayout.LayoutParams params;
    EditText e = new EditText(mRR.getContext());
    e.setId(arr.size()+2);
    e.setEnabled(false);
    e.setFocusable(false);
    e.setClickable(false);
    e.setText(msg);
    e.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 12);
    e.setTypeface(null,Typeface.BOLD);
    e.setTypeface(Typeface.SANS_SERIF);
    e.setTextColor(Color.parseColor("#080808"));

    params = new RelativeLayout.LayoutParams(setDp(150, e.getContext()),RelativeLayout.LayoutParams.WRAP_CONTENT);
    params.addRule(RelativeLayout.ALIGN_PARENT_RIGHT);
    params.setMargins(0, setDp(8, e.getContext()), 0, 0);
    if(arr.isEmpty()){
        params.addRule(RelativeLayout.ALIGN_PARENT_TOP);
    }else{
        params.addRule(RelativeLayout.BELOW,arr.get(arr.size()-1).getId());
    }
    Spannable str = e.getText();
    str.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, str.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

    e.setLayoutParams(params);
    e.setBackgroundResource(R.drawable.mytext);
    arr.add(e);
    mRR.addView(e);

}

功能是這個。 我不想設置寬度fixsize。 解決辦法是什么?

像這樣..?

editText.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM