Я работаю над изменением фонового изображения своего приложения, когда пользователь нажимает четверть экрана. Я опубликовал то, что я сделал до сих пор, но не работает. Я также не уверен, как ссылаться на png-изображение, которое я сохранил в своей папке ресурсов. Благодарю.OnTouch Change Background Image
public class TouchtwoActivity extends Activity implements OnTouchListener {
/** Called when the activity is first created. */
float x,y;
TextView tv = (TextView)findViewById(R.id.textv);
View vv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.eight);
vv.setOnTouchListener(this);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
x = event.getX();
y = event.getY();
if(x > getWindowManager().getDefaultDisplay().getWidth()/2)
{
changeImage();
}
return true;
}
public void changeImage()
{
getWindow().setBackgroundDrawable(Drawable.createFromPath("name of png from drawable));
}
}
Итак, у меня есть линейный макет и внутри него просто текстовое представление. Я добавляю vv к линейной компоновке? Выполняю ли я это в файле XML или файле Java? Что-то вроде LinearLayout lay = (LinearLayout) findViewById (R.id.myname), затем lay.addView (vv) ;? – ncg33
U может либо сделать это, добавив представление в xml и View vv = (View) findViewById (R.id.view_name); vv.setOnTouchListener (this); или LinearLayout lay = (LinearLayout) findViewById (R.id.myname) then lay.addView (vv); (В этом случае вам нужно установить высоту и ширину в представлении перед добавлением представления в макет) – ShineDown