View.SetCameraDistance(Single) Método

Definição

Define a distância ao longo do eixo Z (ortogonal ao plano X/Y no qual as vistas são desenhadas) da câmera para esta vista.

[Android.Runtime.Register("setCameraDistance", "(F)V", "GetSetCameraDistance_FHandler")]
public virtual void SetCameraDistance(float distance);
[<Android.Runtime.Register("setCameraDistance", "(F)V", "GetSetCameraDistance_FHandler")>]
abstract member SetCameraDistance : single -> unit
override this.SetCameraDistance : single -> unit

Parâmetros

distance
Single

A distância em "pixels de profundidade", se negativo o valor oposto for usado

Atributos

Comentários

Define a distância ao longo do eixo Z (ortogonal ao plano X/Y no qual as vistas são desenhadas) da câmera para esta vista. A distância da câmera afeta transformações 3D, por exemplo, rotações ao redor do eixo X e Y. Se as propriedades rotationX ou rotationY forem alteradas e essa exibição for grande (mais da metade do tamanho da tela), é recomendável sempre usar uma distância de câmera maior que a altura (rotação do eixo X) ou a largura (rotação do eixo Y) dessa exibição.

A distância da câmera do plano de exibição pode afetar a distorção de perspectiva da exibição quando ela é girada em torno do eixo x ou y. Por exemplo, uma grande distância resultará em um grande ângulo de exibição e não haverá muita distorção de perspectiva da exibição à medida que ela gira. Uma curta distância pode causar muito mais distorção de perspectiva na rotação e também pode resultar em alguns artefatos de desenho se o modo de exibição girado acabar parcialmente atrás da câmera (e é por isso que a recomendação é usar uma distância pelo menos até o tamanho da exibição, se a exibição deve ser girada).)

A distância é expressa em "pixels de profundidade". A distância padrão depende da densidade da tela. Por exemplo, em uma exibição de densidade média, a distância padrão é 1280. Em uma exibição de alta densidade, a distância padrão é 1920.

Se você quiser especificar uma distância que leve a resultados visualmente consistentes em várias densidades, use a seguinte fórmula:

float scale = context.getResources().getDisplayMetrics().density;
            view.setCameraDistance(distance * scale);

O fator de escala de densidade de uma exibição de alta densidade é 1,5 e 1920 = 1280 * 1,5.

Java documentação para android.view.View.setCameraDistance(float).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a

Confira também