Como posso criar um layout dinâmico em que dois contêineres ajustam suas larguras com base no valor de um controle deslizante? A largura do primeiro contêiner deve ser personalizável, variando entre proporções como 20% e 50%, enquanto o segundo contêiner deve se ajustar dinamicamente para preencher o espaço restante, mas nunca deve ficar abaixo de 50%. Quero que essa configuração garanta ajustes suaves e proporcionais, mantendo as restrições de largura para ambos os contêineres. Como posso configurar os controles deslizantes e as propriedades do contêiner para obter essa funcionalidade?
Aplicativo > OnStart
Set(ratio1, 0.5); // Valor inicial para Container1 (largura de 50%)
Set(ratio2, 0.5); // Valor inicial para Container2 (largura de 50%)
Largura da propriedade do contêiner esquerdo (Container1) : Parent.Width * ratio1
Largura da propriedade do contêiner direito (Container2) : Parent.Width * ratio2
Propriedades do SliderRatio1 :
- Mín: 0,3
- Máx: 0,5
- Padrão: 0,5
Propriedades do SliderRatio2 :
- Mín: 0
- Máx: 1
- Padrão: 1 - SliderRatio1.Value
Em mudança:
Set(ratio1, SliderRatio1.Value); // Atualiza a largura do Container1
Set(ratio2, 1 - ratio1); // Atualiza a largura do Container2
Você pode simplesmente aplicar o método unitário básico para obter os resultados. Usar _
Parent.Width/100
nos dará largura para 1%. Agora, tendo isso em mente, defina as propriedades conforme mencionado abaixo:Controle deslizante
20
50
20
Recipiente 1
Parent.Width/100 * Slider.Value
Recipiente 2
Parent.Width/100 * (50 + Slider.Max - Slider.Value)
- Adicionando 50 ao multiplicador para que, não importa qual, a largura mínima seja de pelo menos 50%.Parent.Width - Self.Width
- Ajuste o valor X de acordo com a largura do contêinerResultado final
Controle deslizante em 20
Controle deslizante aos 40
Controle deslizante em 50