如果有人能为我提供解决方案,感谢您的帮助。我有两个问题:
1-我有一个按钮,每次单击它时都会生成Params和TextView。我将变量设置为textview“textnew”和param“lptxt”。但是,我只能控制最后生成的textview,字体,字体大小,remove..etc。有没有设置自动ID的方法,我可以在其他方法中回忆起来?我尝试了isSelected,isTouched,hasFocus和其他人,但没有任何效果。
2-如何将TextView设置回设置边框后的状态?假设我已将边框设置为10dp半径的TextView和红色。但是当触摸TextView时,边框会变为1dp半径,如drawable / corner中所述。
谢谢
这是我的代码
RelativeLayout rel0 = (RelativeLayout) findViewById(R.id.rel0);
的OnClick:
textnew = new TextView(MainActivity.this);
lptxt = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
lptxt.addRule((RelativeLayout.CENTER_HORIZONTAL));
lptxt.addRule((RelativeLayout.CENTER_VERTICAL));
lptxt.addRule((RelativeLayout.CENTER_IN_PARENT));
textnew.setLayoutParams(lptxt);
rel0.addView(textnew);
rel0.bringChildToFront(textnew);
rel0.bringToFront();
textnew.setText(edittextdialog.getText().toString());
OnTouch:
case MotionEvent.ACTION_DOWN: {
textnew.setBackgroundResource(R.drawable.borders);
textnew.isSelected();
break;
}
BTW我正在研究API 11
提前谢谢你,
答案 0 :(得分:0)
在setTag
上使用TextView
并使用findViewWithTag
获取您需要的视图。
重置ACTION_UP
答案 1 :(得分:0)
例如,您生成5 List<TextView> list = new ArrayList<TextView>();
for(int i=0;i<5;i++){
TextView textView = generateTextView();
list.add(textView);
rel0.addView(textView);
}
public TextView generateTextView(){
TextView textnew = new TextView(MainActivity.this);
...
return textnew;
}
该方法生成TextView
lptxt
然后您可以控制列表中的文本视图
如果使用相同的 LinearLayout lineFree = (LinearLayout) findViewById(R.id.view_fee);
lineFree.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.add(R.id.container, new Dashboard())
.commit();
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
}
});
布局框架,textview正在使用relativelayoutparams。 textview将是相同的位置,你只能看到最后一个
答案 2 :(得分:0)
我找到了解决此问题的方法:
我在ACTION_UP上夸大了一个视图,我可以在其中更改文本大小,颜色,字体,甚至删除它。这些更改会直接在所选的textview上发生问题。
Thanx家伙的贡献。
这是我的代码:
partA