Iam new для android.I хочу прочитать текст, написанный в прямоугольнике, нарисованном в canvas.I знаю, что drawText() используется для написания текста, есть ли способ прочитать текст ? Заранее спасибочтение текста из прямоугольника canvas в android
ответ
Если вы просто хотите написать текст внутри прямоугольника. Это будет лучше всего использовать TextView вместо canvas.drawText.
Если вы хотите использовать drawText. Вот этот метод. Во-первых, создайте класс CustomView.
public class CustomView extends View{
String text;
private Paint paint;
public CustomView(Context context, AttributeSet attrs) {
super(context, attrs);
paint = new Paint();
paint.setColor(Color.BLACK);
}
public void setText(String text){
this.text = text;
invalidate();
}
@Override
public void onDraw(Canvas canvas){
canvas.drawText(text, 20, 20, paint);
super.onDraw(canvas);
}
}
В activitiy_main.xml объявите, как показано ниже. В этом случае вы нарисуете 2 прямоугольника. Не забудьте установить разные идентификаторы для каждого прямоугольника.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.example.apps1.CustomView
android:id="@+id/custom_view_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<com.example.apps1.CustomView
android:id="@+id/custom_view_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
Затем найдите мнение по данному идентификатору на выше в MainActivity и написать текст, который вы хотите установить в вашем прямоугольнике.
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String view1Text = "First rectangle";
String view2Text = "Second rectangle";
CustomView customView1 = (CustomView)findViewById(R.id.custom_view_1);
CustomView customView2 = (CustomView)findViewById(R.id.custom_view_2);
customView1.setText(view1Text);
customView2.setText(view2Text);
// get text from customView1 and customView2
String textOnCustomView1 = customView1.text;
String textOnCustomView2 = customView2.text;
}
}
Таким образом, вы можете прочитать текст, который вы пишете в прямоугольник.
как использовать это, когда я рисую более одного прямоугольника и вставляю текст в один прямоугольник, прикоснувшись к этому конкретному прямоугольнику и как читать введенные в него значения. – wudpecker
Похоже, что вы очень новичок в Android. Я предлагаю вам прежде, чем попытаться нарисовать прямоугольник, сделайте некоторую практику, как добавить представление. Всякий раз, когда я обновляю свой код. Надеюсь, вы сможете это понять. – edisonthk
- 1. Android Canvas изменить цвет прямоугольника
- 2. Android canvas: drawText отступы и обертывание прямоугольника
- 3. Чтение текста из HTML (Android)
- 4. Рисование прямоугольника на Canvas
- 5. Нарисуйте текст внутри заполненного прямоугольника с помощью Canvas Android
- 6. Чтение пикселей из прямоугольника в текстуре OpenGL
- 7. HTML5 Canvas - Текст наверх прямоугольника
- 8. Android - Чтение текста Файл из подкласса приложения
- 9. Чтение чисел из текста
- 10. Чтение уравнения из текста
- 11. NullPointerException чтение из текста
- 12. Чтение текста из файла
- 13. Измерение ширины текста на Canvas (Android)
- 14. Android canvas hidden shape
- 15. Чтение текста из ресурсов в классе non-activity в Android
- 16. Android Canvas Рисование текста и изменение текста после этого
- 17. Canvas - Анимированная ротация текста
- 18. Динамическое изменение размера прямоугольника android
- 19. Android: Canvas drawBitmap?
- 20. Flex - Разметка текста в Canvas
- 21. Чтение текста из Windows Form
- 22. Чтение специфического текста из JTextField
- 23. Чтение содержимого текста из SyndicationContent
- 24. Vb.net Чтение текста из файла
- 25. Чтение текста из файла RTF
- 26. draw rectangle canvas android
- 27. Проблема Чтение данных CANVAS DOM
- 28. Чтение числовых значений Из текста Файл, написанный на Android
- 29. Android. Можно ли изменить часть текста в Canvas?
- 30. android java чтение/запись текста из разных потоков одновременно
Если вы хотите написать текст внутри прямоугольника, я бы предложил вам использовать TextView. Вы можете прочитать текст, написанный в TextView, с помощью метода getText(). – edisonthk