Android, движущийся вид в линейной
Я сделал линейный макет, и он содержит несколько изображений. когда я двигаю один с (set X(view.get x + 10))
функция, она движется... но она движется позади других взглядов. что вид стал скрытым.
и другая проблема, когда я получаю X & Y представления, его всегда 0,0. но вид находится в середине экрана. что я должен делать??? я должен отказаться от линейного макета??
if(wichmov == "right" ){
if(martin.getX() < width){
martin.setX(martin.getX()+ deltax);
}
else if(wichmov == "left"){
if(martin.getX() > 0){
martin.setX(martin.getX()- deltax );
}
}
}
это то, как я двигаю это.
2 ответа
Я просто понял это.
Я использую относительный макет, а затем устанавливаю линейный макет в качестве родительского соответствия. После проектирования фона с помощью линейного макета я определяю вид изображения после линейного макета и внутри относительного макета, а затем в Java я устанавливаю его положение в том месте, где я хочу (перед специальным полем линейной компоновки, которую я хотел переместить), а также ширину и высоту.
Следующий код поможет вам разместить ваше представление в нужном вам месте экрана и установить его ширину и высоту:
DisplayMetrics metrics = this.getResources().getDisplayMetrics(); //getting screen size
width = metrics.widthPixels;
height = metrics.heightPixels;
view.setX(width *5/8); //setting the place
view.setY(height/4);
LayoutParams para = view.getLayoutParams(); //set size of view
para.height = (int) (height/2);
para.width = (int) (width/4);
view.setLayoutParams(para);
Когда вы пытаетесь вызвать getX()? Это может быть что-то, чтобы посмотреть: View getX () и getY() возвращают 0.0 после того, как они были добавлены в Activity
Если вы делаете вызов в onCreate, он будет равен нулю.