2014-08-27 3 views
2

Ну, я хочу создать простое приложение. , которые меняют внешний вид макета, даже если виджет DigitalClock или что-то еще. Я пробовал его с Android: scaleX = "- 1"; , но он работает только с текстом и изображениями.Как создать HUD (зеркальный) макет/экран Android?

Как создать макет, который полностью изменил весь экран, чтобы он выглядел как зеркальное отображение?

спасибо заранее.

нормальный вид:

normal view вид я хочу:

the view I want

ответ

5

Просто создайте собственный ViewGroup (или расширить существующий) и масштабировать холст, прежде чем она привлекает своих детей:

public class MirrorRelativeLayout extends RelativeLayout { 
    public MirrorRelativeLayout(Context context) { 
     super(context); 
    } 

    public MirrorRelativeLayout(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public MirrorRelativeLayout(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
    } 

    @Override 
    protected void dispatchDraw(Canvas canvas) { 
     canvas.save(); 
     // Scale the canvas in reverse in the x-direction, pivoting on 
     // the center of the view 
     canvas.scale(-1f, 1f, getWidth()/2f, getHeight()/2f); 
     super.dispatchDraw(canvas); 
     canvas.restore(); 
    } 

    @Override 
    public void draw(Canvas canvas) { 
     canvas.save(); 
     // Scale the canvas in reverse in the x-direction, pivoting on 
     // the center of the view 
     canvas.scale(-1f, 1f, getWidth()/2f, getHeight()/2f); 
     super.dispatchDraw(canvas); 
     canvas.restore(); 
    } 
} 

Тогда просто используйте это ViewGroup a с корнем вашей планировки:

<com.your.packagename.MirrorRelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <TextView 
     android:text="Mirror Text!" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

</com.your.packagename.MirrorRelativeLayout> 

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

  • Нет связанных вопросов^_^