我的问题是我希望从编辑文本中获取精确文本,其中包含在编辑文本中设置的字体以及文本大小,文本颜色和文本样式,如粗体,斜体和下划线。
直到现在我使用了像这样Spannable messageText;
的Spannable并从这里获取EditText中的文本
messageText = editText.getText();
并设置为textview
textView.setText(messageText);
但在这种情况下,它只返回不是color,font,size and style
的简单字符串。
EditText
<EditText
android:id="@+id/message"
android:layout_width="fill_parent"
android:layout_height="180dp"
android:inputType="textMultiLine"
android:singleLine="false"
android:tag="no"
android:textColor="#000000"
android:textSize="15sp"
android:textStyle="normal"
android:typeface="normal" />
TextView
<TextView
android:id="@+id/preview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text=""
android:textColor="#000000"
android:textSize="15sp"
android:textStyle="normal"
android:typeface="normal" />
帮助我,谢谢
答案 0 :(得分:4)
如果您正在设置编辑文本的背景颜色,请按此
editText.setBackgroundDrawable(new PaintDrawable(Color.YELLOW));
然后,
执行此操作以获取背景颜色。
PaintDrawable drawable = (PaintDrawable) editText.getBackground();
int color = drawable.getPaint().getColor();
然后将此颜色设置为textView。
textView.setBackgroundColor(color);
答案 1 :(得分:1)
您好我已经为您运行了示例项目..我认为您期待这个答案..
这是xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/message"
android:layout_width="fill_parent"
android:layout_height="180dp"
android:inputType="textMultiLine"
android:singleLine="false"
android:tag="no"
android:textColor="#1DA237"
android:textSize="15sp"
android:textStyle="italic"
android:typeface="normal" />
<TextView
android:id="@+id/preview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="subbu"
android:textColor="#1DA237"
android:textSize="15sp"
android:textStyle="italic"
android:typeface="normal"
android:paddingBottom="50dp"
android:layout_below="@+id/message"/>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="29dp"
android:layout_marginTop="93dp"
android:text="Button"
android:layout_below="@+id/preview"/>
</RelativeLayout>
活动代码:
final EditText text=(EditText)findViewById(R.id.message);
Button b=(Button)findViewById(R.id.button1);
final TextView t=(TextView)findViewById(R.id.preview);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
t.setText(text.getText().toString());
}
});
我认为这是你所期待的。