2013-10-28 4 views
0

У меня есть новая проблема.андроид сделать текстовое поле как текстовое поле ms office

Проект нуждается в текстовом виде с растровым изображением (я делаю его в 9 патчах) в качестве фона, но пользователи могут изменять размер и ширину своего размера, как текстовое поле в офисе ms, которое пользователи могут использовать мышь для reize текстовое поле и текст в нем будут переизданы.

Это мой код: 1.этот пометить, чтобы сохранить атрибут textview. publicET - это текстовое представление.

   ts.setPositionX(publicET.getLeft()); 
       ts.setPositionY(publicET.getTop()); 
       ts.setLength(publicET.getBottom()); 
       ts.setWidth(publicET.getRight()); 

2.Then Я показываю эту TextView, я поставил этот атрибут TextView:

   TextObject tObj = new TextObject(); 
       tObj.setId(Integer.parseInt(String.valueOf(id))); 
       tObj.setPageId(getPageNum); 
       tObj.setAlbumId(albumId); 
       tObj.setContent(publicET.getText().toString()); 
       tObj.setPositionX(textPositionX); 
       tObj.setPositionY(textPositionY); 
       tObj.setLength(textPositionB); 
       tObj.setWidth(textPositionR); 
       tObj.setColor(curPicBackColor); 
       tObj.setSize(curTextFontSize); 
       tObj.setTextFont(typefacestr); 
       publicET.setTag(tObj); 
       publicET.setBackgroundDrawable(null); 

TestObject класс как это:

public class TextObject { 

private Integer id; 
private Integer pageId; 
private Integer albumId; 
private String content; 
private Integer positionX; 
private Integer positionY; 
private Integer length; 
private Integer width; 
private String color; 
private Integer size; 
private String textFont; 

public Integer getId() { 
    return id; 
} 
public void setId(Integer id) { 
    this.id = id; 
} 
public Integer getPageId() { 
    return pageId; 
} 
public void setPageId(Integer pageId) { 
    this.pageId = pageId; 
} 
public Integer getAlbumId() { 
    return albumId; 
} 
public void setAlbumId(Integer albumId) { 
    this.albumId = albumId; 
} 
public String getContent() { 
    return content; 
} 
public void setContent(String content) { 
    this.content = content; 
} 
public Integer getPositionX() { 
    return positionX; 
} 
public void setPositionX(Integer positionX) { 
    this.positionX = positionX; 
} 
public Integer getPositionY() { 
    return positionY; 
} 
public void setPositionY(Integer positionY) { 
    this.positionY = positionY; 
} 
public Integer getLength() { 
    return length; 
} 
public void setLength(Integer length) { 
    this.length = length; 
} 
public Integer getWidth() { 
    return width; 
} 
public void setWidth(Integer width) { 
    this.width = width; 
} 
public String getColor() { 
    return color; 
} 
public void setColor(String color) { 
    this.color = color; 
} 
public Integer getSize() { 
    return size; 
} 
public void setSize(Integer size) { 
    this.size = size; 
} 
public String getTextFont() { 
    return textFont; 
} 
public void setTextFont(String textFont) { 
    this.textFont = textFont; 
} 

}

я могу 't контролировать атрибут этого textView для отображения в нужном месте. Я проверил позицию по журналу правильно. с нетерпением жду, когда вы мне поможете. Спасибо.

+0

Я нашел решение в настоящее время. Я установил ширину текста, следуя настройке параметров макета, и он работает так же, как textview.setWidth (intpx) – arjinmc

+0

Пожалуйста, добавьте решение в качестве ответа и примите, поэтому вопрос будет закрыт. – sandrstar

+1

Я уже поставил его. – arjinmc

ответ

0

Существует мой код и он работает:

RelativeLayout.LayoutParams paramst = new RelativeLayout.LayoutParams(
       android.view.ViewGroup.LayoutParams.WRAP_CONTENT, 
       android.view.ViewGroup.LayoutParams.WRAP_CONTENT); 
     paramst.setMargins(o.getPositionX(), o.getPositionY(), 
       o.getWidth(), o.getLength()); 
     TextView e = new TextView(this);   
     e.setBackgroundResource(R.drawable.edittext_bg2); 
     e.setLayoutParams(paramst); 
     e.setWidth(o.getWidth()-o.getPositionX()); 
Смежные вопросы