0
我有一个(几乎)二次ImageView包含图像和滑块,应该允许用户缩放ImageView边框内的图像。图像应该始终坚持ImageView的边界,所以我想要一个没有任何尺寸变化的缩放功能。目前,我的图像已经初始化过大,如果我触发滑块,它会变得越来越大。用滑块缩放ImageView
我的XML:
<View id=imageContainer>
<ImageView id="picture" top="0" left="30" height="120" width="120"></ImageView>
<View id="imagePreferences">
<Label id="scaleLabel">Foto skalieren</Label>
<Slider id="scaleSlider" onChange="scalePicture"></Slider>
</View>
</View>
我TSS
"#imageContainer": {
top: "80",
left: "0",
height: "120",
width: "90%"
}
"#picture": {
top: "0",
left: "0",
height: "120",
width: "40%"
}
"#imagePreferences": {
top: "0",
right: "0",
height: "120",
width: "40%"
}
"#scaleLabel": {
top: "0",
left: "0",
height: "10",
font: {
fontSize: 8
}
}
"#scaleSlider": {
top: "10",
left: "0",
min: "0",
max: "100",
value: "0",
height: "10",
thumbImage: "/media/slider_btn.png"
}
而我的JS:
var image;
var imageSet = false;
var imageMatrix;
var file = Titanium.Filesystem.getFile(Titanium.Filesystem.applicationDataDirectory, "savedChallengeImage.jpeg");
if(file) {
$.picture.setImage(file);
image = file;
imageSet = true;
imageMatrix = Titanium.UI.create2DMatrix();
}
function scalePicture(e) {
if (imageSet) {
var scale = Titanium.UI.createAnimation();
imageMatrix = imageMatrix.scale(e.Value);
scale.transform = imageMatrix;
scale.duration = 0;
$.picture.animate(scale);
}
}
尝试为'#scaleSlider'设置'min:'-10'''max:'10''和'value:'0'' – Swanand 2014-10-09 13:27:48