最近、カスタム ビューを更新したのでEditText
、キャンバスの中央に を追加できる可能性があります (いわば)。
以前のカスタム ビューと同じ方法で、onDraw
コードをdispatchDraw
カスタム作品に追加した後。LinearLayout
EditText
では、レイアウトの真ん中にスマックを追加するにはどうすればよいでしょうか?
これまでのところ、私はこれを試しています:
EditText edit = new EditText(getContext());
edit.setText("My EditText");
edit.setTextSize((int)Math.ceil(thickness/2));
edit.setWidth((int)(diameter*0.07f));
edit.setX(centerX);
edit.setY(centerY);
addView(edit);
いくつかの変数を許してください。それらはあまり重要ではありませんがEditText
、X 座標と Y 座標を使用して追加しようとしています。
助けてくれてありがとう。
アップデート:
コンストラクターを更新LinearLayout
してファイルを膨張させ、comment_edit.xml
この方法で動作させることができるかどうかを確認しました。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/layout_comment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/edittext_comment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="text"
android:imeOptions="actionDone" />
</LinearLayout>
コンストラクターのLinearLayout
抜粋は次のとおりです。
LayoutInflater inflater = LayoutInflater.from(context);
LinearLayout view = (LinearLayout) inflater.inflate(R.layout.comment_edit, this, false);
EditText edit = (EditText) view.findViewById(R.id.edittext_comment);
edit.setText("Add Comment");
edit.setX(112);
edit.setY(117);
addView(view);
私も試しました:
LayoutInflater inflater = LayoutInflater.from(context);
LinearLayout view = (LinearLayout) inflater.inflate(R.layout.comment_edit, this, false);
EditText edit = (EditText) view.findViewById(R.id.edittext_comment);
edit.setText("Add Comment");
view.setX(112);
view.setY(117);
addView(view);
EditText
まだ表示されない