mirror of
https://github.com/NativeScript/NativeScript.git
synced 2025-11-05 13:26:48 +08:00
Merge pull request #604 from NativeScript/feature/rounded-image-clip
Image rounded coreners clip
This commit is contained in:
5
org.nativescript.widgets.d.ts
vendored
5
org.nativescript.widgets.d.ts
vendored
@@ -136,6 +136,11 @@
|
|||||||
|
|
||||||
export class ImageView extends android.widget.ImageView {
|
export class ImageView extends android.widget.ImageView {
|
||||||
constructor(context: android.content.Context);
|
constructor(context: android.content.Context);
|
||||||
|
getCornerRadius(): number;
|
||||||
|
setCornerRadius(radius: number): void;
|
||||||
|
|
||||||
|
getBorderWidth(): number;
|
||||||
|
setBorderWidth(width: number): void;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -270,6 +270,58 @@ export class DefaultStyler implements definition.stylers.Styler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class ImageStyler implements definition.stylers.Styler {
|
||||||
|
// Corner radius
|
||||||
|
private static setBorderRadiusProperty(view: view.View, newValue: any, defaultValue: any) {
|
||||||
|
if (!view._nativeView) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var val = newValue * utils.layout.getDisplayDensity();
|
||||||
|
(<org.nativescript.widgets.ImageView>view._nativeView).setCornerRadius(val);
|
||||||
|
onBackgroundOrBorderPropertyChanged(view);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static resetBorderRadiusProperty(view: view.View, nativeValue: any) {
|
||||||
|
if (!view._nativeView) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
(<org.nativescript.widgets.ImageView>view._nativeView).setCornerRadius(0);
|
||||||
|
onBackgroundOrBorderPropertyChanged(view);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Border width
|
||||||
|
private static setBorderWidthProperty(view: view.View, newValue: any, defaultValue: any) {
|
||||||
|
if (!view._nativeView) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var val = newValue * utils.layout.getDisplayDensity();
|
||||||
|
(<org.nativescript.widgets.ImageView>view._nativeView).setBorderWidth(val);
|
||||||
|
onBackgroundOrBorderPropertyChanged(view);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static resetBorderWidthProperty(view: view.View, nativeValue: any) {
|
||||||
|
if (!view._nativeView) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
(<org.nativescript.widgets.ImageView>view._nativeView).setBorderWidth(0);
|
||||||
|
onBackgroundOrBorderPropertyChanged(view);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static registerHandlers() {
|
||||||
|
// Use the same handler for all background/border properties
|
||||||
|
// Note: There is no default value getter - the default value is handled in onBackgroundOrBorderPropertyChanged
|
||||||
|
|
||||||
|
style.registerHandler(style.borderRadiusProperty, new stylersCommon.StylePropertyChangedHandler(
|
||||||
|
ImageStyler.setBorderRadiusProperty,
|
||||||
|
ImageStyler.resetBorderRadiusProperty), "Image");
|
||||||
|
|
||||||
|
style.registerHandler(style.borderWidthProperty, new stylersCommon.StylePropertyChangedHandler(
|
||||||
|
ImageStyler.setBorderWidthProperty,
|
||||||
|
ImageStyler.resetBorderWidthProperty), "Image");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export class TextViewStyler implements definition.stylers.Styler {
|
export class TextViewStyler implements definition.stylers.Styler {
|
||||||
// color
|
// color
|
||||||
private static setColorProperty(view: view.View, newValue: any) {
|
private static setColorProperty(view: view.View, newValue: any) {
|
||||||
@@ -556,6 +608,7 @@ export class SearchBarStyler implements definition.stylers.Styler {
|
|||||||
export function _registerDefaultStylers() {
|
export function _registerDefaultStylers() {
|
||||||
style.registerNoStylingClass("Frame");
|
style.registerNoStylingClass("Frame");
|
||||||
DefaultStyler.registerHandlers();
|
DefaultStyler.registerHandlers();
|
||||||
|
ImageStyler.registerHandlers();
|
||||||
TextViewStyler.registerHandlers();
|
TextViewStyler.registerHandlers();
|
||||||
ActivityIndicatorStyler.registerHandlers();
|
ActivityIndicatorStyler.registerHandlers();
|
||||||
SegmentedBarStyler.registerHandlers();
|
SegmentedBarStyler.registerHandlers();
|
||||||
|
|||||||
15
ui/styling/styling.d.ts
vendored
15
ui/styling/styling.d.ts
vendored
@@ -68,6 +68,21 @@
|
|||||||
*/
|
*/
|
||||||
backgroundRepeat: string;
|
backgroundRepeat: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets or sets the border-color style property.
|
||||||
|
*/
|
||||||
|
borderColor: color.Color
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets or sets the border-width style property.
|
||||||
|
*/
|
||||||
|
borderWidth: number
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets or sets the border-radius style property.
|
||||||
|
*/
|
||||||
|
borderRadius: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets or sets font-size style property.
|
* Gets or sets font-size style property.
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user