Предполагая, что вам действительно нужно, чтобы нарисовать его на холсте ...
Создать новый canvaslayout.xml внутри/папок Реза макета.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:ems="5" >
<requestFocus />
</EditText>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/editText1"
android:layout_toRightOf="@+id/editText1"
android:text="Edit Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
Изменить код слишком
LinearLayout layout = findViewById(R.layout.canvaslayout);
//LinearLayout layout = youractivity.findViewById(R.layout.canvasLayout);
layout.draw(canvas);
Programmaticly:
Если вы не хотите использовать XML (я не понимаю, почему нет), вы можете использовать this метод. Вы меняете линейный макет на относительный макет и используете что-то вроде этого, чтобы поместить вид на другой вид.
RelativeLayout.LayoutParams relativeLayoutParams=
new RelativeLayout.LayoutParams((RelativeLayout.LayoutParams.WRAP_CONTENT),(RelativeLayout.LayoutParams.WRAP_CONTENT));//create params for new textview
relativeLayoutParams.addRule(RelativeLayout.RIGHT_OF, textView.getId());//to align the textview side by side
Вы можете указать, кто у вас есть инициализированный холст и его использование. Вам нужен только текст редактирования с строкой ниже? как эта простая задача, и не нужно брать реализацию холста. –
Мне нужно динамически создавать разные номера этого вида (editText + text), поэтому я выбираю создать свой пользовательский вид с этими элементами, чтобы облегчить будущую работу –