私のアプリケーションには、アクティビティ クラスが 1 つあります。そのアクティビティ クラスには、「Xml ファイル」ではない別のクラス ファイルであるレイアウトを設定しました。そのクラスファイルに「編集テキスト」を配置しようとしましたが、来ていますが機能していません(クリック可能でも入力を入力できません)。「SO」で多くの投稿を試みましたが、まだ取得できませんそれ。
私のコード:
アクティビティ:
public class MainActivity extends Activity
{
HomeDesign hm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
hm = new HomeDesign(this);
setContentView(hm);
// Canvas canvas = new Canvas();
// Bitmap image = BitmapFactory.decodeResource(getResources(), R.drawable.sabrerez);
// canvas.drawBitmap(image, 10, 10, null);
// ImageView img = (ImageView) findViewById(R.id.logo);
//
// img.setBackgroundResource(R.drawable.sabrerez);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
クラスを表示:
public void draw(Canvas c)
{
brush.setColor(Color.parseColor("#617981"));
c.drawRect(0, 0, c.getWidth(), 70, brush);
c.drawBitmap(bm, 10, 10, brush);
brush.setColor(Color.parseColor("#ebecec"));
c.drawRect(0, 70, c.getWidth(),c.getHeight(), brush);
brush.setStrokeWidth(3);
brush.setColor(Color.parseColor("#617981"));
brush.setTextSize(15);
c.drawText("Username", c.getWidth()/8,c.getHeight()/2 - 100, brush);
c.drawText("Password", c.getWidth()/8,c.getHeight()/2 - 50, brush);
brush.setColor(Color.parseColor("#000000"));
FrameLayout layout = new FrameLayout(context);
username= new EditText(context);
// LinearLayout.LayoutParams params2 = (LinearLayout.LayoutParams) username.getLayoutParams();
// LinearLayout.LayoutParams params2 = new LinearLayout.LayoutParams(40,40);
// username.setText("" + i);
username.setFocusableInTouchMode(true);
username.setFocusable(true);
username.requestFocus();
username.setEnabled(true);
username.setRawInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
username.setInputType(InputType.TYPE_CLASS_TEXT);
layout.measure(c.getWidth(),c.getHeight());
// layout.
layout.layout(10, 200, 100, 220);
// layout.layout(c.getWidth()/8+100,c.getHeight()/2 - 110 - 10,c.getWidth()/8+250,c.getHeight()/2 - 100 + 10);
// layout.layout(100,100,100,80);
layout.draw(c);
}
これを解決するには?