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, он будет равен нулю.

Другие вопросы по тегам