2015-07-16 2 views
1

Я добавляю левые и правые навигационные панели в ViewFlipper, и мне удалось заставить все это работать. Проблема в том, что независимо от того, какой макет я использую, ручки всегда отображаются за ViewFlipper.Добавить навигационные ручки в ViewFlipper

Это мой XML:

<FrameLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 

    <ImageButton 
     android:layout_width="30dp" 
     android:layout_height="60dp" 
     android:id="@+id/flipperLeft" 
     android:background="@drawable/arrow_left" 
     android:layout_marginTop="60dp" 
     android:layout_marginLeft="8dp" /> 

    <ImageButton 
     android:layout_width="30dp" 
     android:layout_height="60dp" 
     android:id="@+id/flipperRight" 
     android:background="@drawable/arrow_right" 
     android:layout_marginTop="60dp" 
     android:layout_marginRight="8dp" /> 

    <ViewFlipper 
     android:layout_width="fill_parent" 
     android:layout_height="180dp" 
     android:id="@+id/slider_id" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentStart="true" 
     android:autoStart="false"> 

    </ViewFlipper> 

</FrameLayout> 

Я проверил со всеми свойствами для обеих кнопок изображения и ViewFlipper и без каких-либо изменений. Позже я обнаружил, что Android не поддерживает Z-Index в свойствах XML.
Я тогда пробовал программно, используя bringToFront, но без успеха.
Это мой код до сих пор:

mViewFlipper = (ViewFlipper) findViewById(R.id.slider_id); 
mViewFlipper.setAutoStart(true); 
mViewFlipper.setFlipInterval(6000); 

page_img.moveToFirst(); 
while (!page_img.isAfterLast()) { 
    ImageView imageView = new ImageView(this); 
    Picasso.with(this) 
     .load("http://www.example.pt/app_images/"+page_img.getString(0)) 
     .fit().into(imageView); 


    mViewFlipper.addView(imageView); 

    page_img.moveToNext(); 
} 


ImageButton flipperLeft = (ImageButton) findViewById(R.id.flipperLeft); 
ImageButton flipperRight = (ImageButton) findViewById(R.id.flipperRight); 

flipperLeft.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     mViewFlipper.showPrevious(); 
    } 
}); 

flipperRight.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     mViewFlipper.showNext(); 
    } 
}); 

flipperLeft.bringToFront(); 

Это мои конфиги:

minSdkVersion 15 
targetSdkVersion 21 

Есть ли способ, чтобы тянуть перед ViewFlipper изображение кнопки ручки?

ответ

1

Уровни Android перекрываются. Представления в порядке возрастания Z-порядка основаны на порядке, определенном в макете. Если виды перекрываются, те, которые определены позже в макете, будут отображаться над представлениями, определенными ранее в макете. Поэтому, если вы просто переместите ImageButton s после ViewFlipper в свой XML-макет, они должны появиться поверх ViewFlipper.

+0

У меня получилось наоборот. спасибо – CIRCLE

Смежные вопросы