# SplitPinRule.Builder

# SplitPinRule.Builder

Artifact:[androidx.window:window](https://developer.android.com/jetpack/androidx/releases/window)  
[View Source](https://cs.android.com/search?q=file:androidx/window/embedding/SplitPinRule.kt+class:androidx.window.embedding.SplitPinRule.Builder)  
Added in[1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/androidx/window/embedding/SplitPinRule.Builder "View this page in Java")

<br />

```
class SplitPinRule.Builder
```

<br />

*** ** * ** ***

Builder for[SplitPinRule](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule).

## Summary

|                                                ### Public constructors                                                 |
|------------------------------------------------------------------------------------------------------------------------|
| [Builder](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#Builder())`()` |

|                                                 ### Public functions                                                  |
|-----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SplitPinRule](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule)                 | [build](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#build())`()` Builds a[SplitPinRule](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule)instance.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| [SplitPinRule.Builder](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder) | [setDefaultSplitAttributes](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#setDefaultSplitAttributes(androidx.window.embedding.SplitAttributes))`(defaultSplitAttributes: `[SplitAttributes](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitAttributes)`)` Sets the default[SplitAttributes](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitAttributes)to apply on the activity containers pair when the host task bounds satisfy[minWidthDp](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#minWidthDp()),[minHeightDp](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#minHeightDp()),[minSmallestWidthDp](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#minSmallestWidthDp()),[maxAspectRatioInPortrait](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#maxAspectRatioInPortrait())and[maxAspectRatioInLandscape](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#maxAspectRatioInLandscape())requirements. |
| [SplitPinRule.Builder](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder) | [setMaxAspectRatioInLandscape](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#setMaxAspectRatioInLandscape(androidx.window.embedding.EmbeddingAspectRatio))`(aspectRatio: `[EmbeddingAspectRatio](https://developer.android.com/reference/kotlin/androidx/window/embedding/EmbeddingAspectRatio)`)` Sets the largest value of the aspect ratio, expressed as`width / height`in decimal form, of the parent window bounds in landscape when the split should be used.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| [SplitPinRule.Builder](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder) | [setMaxAspectRatioInPortrait](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#setMaxAspectRatioInPortrait(androidx.window.embedding.EmbeddingAspectRatio))`(aspectRatio: `[EmbeddingAspectRatio](https://developer.android.com/reference/kotlin/androidx/window/embedding/EmbeddingAspectRatio)`)` Sets the largest value of the aspect ratio, expressed as`height / width`in decimal form, of the parent window bounds in portrait when the split should be used.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| [SplitPinRule.Builder](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder) | [setMinHeightDp](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#setMinHeightDp(kotlin.Int))`(minHeightDp: @`[IntRange](https://developer.android.com/reference/kotlin/androidx/annotation/IntRange)`(from = 0) `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Sets the smallest value of height of the parent task window when the split should be used, in DP.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [SplitPinRule.Builder](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder) | [setMinSmallestWidthDp](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#setMinSmallestWidthDp(kotlin.Int))`(minSmallestWidthDp: @`[IntRange](https://developer.android.com/reference/kotlin/androidx/annotation/IntRange)`(from = 0) `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Sets the smallest value of the smallest possible width of the parent window in any rotation when the split should be used, in DP.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| [SplitPinRule.Builder](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder) | [setMinWidthDp](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#setMinWidthDp(kotlin.Int))`(minWidthDp: @`[IntRange](https://developer.android.com/reference/kotlin/androidx/annotation/IntRange)`(from = 0) `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)`)` Sets the smallest value of width of the parent window when the split should be used, in DP.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| [SplitPinRule.Builder](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder) | [setSticky](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#setSticky(kotlin.Boolean))`(isSticky: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)`)` Sets this rule to be sticky.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| [SplitPinRule.Builder](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder) | [setTag](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#setTag(kotlin.String))`(tag: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`?)` Sets a unique string to identify this[SplitPinRule](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule), which defaults to`null`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |

## Public constructors

### Builder

Added in[1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)  

```
Builder()
```  

## Public functions

### build

Added in[1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)  

```
fun build(): SplitPinRule
```

Builds a[SplitPinRule](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule)instance.  

|                                                Returns                                                |
|-------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------|
| [SplitPinRule](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule) | The new[SplitPinRule](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule)instance. |

### setDefaultSplitAttributes

Added in[1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)  

```
fun setDefaultSplitAttributes(defaultSplitAttributes: SplitAttributes): SplitPinRule.Builder
```

Sets the default[SplitAttributes](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitAttributes)to apply on the activity containers pair when the host task bounds satisfy[minWidthDp](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#minWidthDp()),[minHeightDp](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#minHeightDp()),[minSmallestWidthDp](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#minSmallestWidthDp()),[maxAspectRatioInPortrait](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#maxAspectRatioInPortrait())and[maxAspectRatioInLandscape](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#maxAspectRatioInLandscape())requirements.  

|                                                              Parameters                                                               |
|---------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `defaultSplitAttributes: `[SplitAttributes](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitAttributes) | the default[SplitAttributes](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitAttributes)to apply on the activity containers pair when the host task bounds satisfy all the rule requirements. |

### setMaxAspectRatioInLandscape

Added in[1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)  

```
fun setMaxAspectRatioInLandscape(aspectRatio: EmbeddingAspectRatio): SplitPinRule.Builder
```

Sets the largest value of the aspect ratio, expressed as`width / height`in decimal form, of the parent window bounds in landscape when the split should be used. When the window aspect ratio is greater than requested here, activities in the secondary container will be stacked on top of the activities in the primary one, completely overlapping them.

This value is only used when the parent window is in landscape (width height).

The default is[SPLIT_MAX_ASPECT_RATIO_LANDSCAPE_DEFAULT](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitRule#SPLIT_MAX_ASPECT_RATIO_LANDSCAPE_DEFAULT())if the app doesn't set, which is the recommend value to always allow split when the parent window is in landscape.  

|                                                              Parameters                                                              |
|--------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `aspectRatio: `[EmbeddingAspectRatio](https://developer.android.com/reference/kotlin/androidx/window/embedding/EmbeddingAspectRatio) | the largest value of the aspect ratio, expressed as`width / height`in decimal form, of the parent window bounds in landscape when the split should be used. |

|                                                              See also                                                              |
|------------------------------------------------------------------------------------------------------------------------------------|---|
| [ratio](https://developer.android.com/reference/kotlin/androidx/window/embedding/EmbeddingAspectRatio#ratio(kotlin.Float))         |   |
| [ALWAYS_ALLOW](https://developer.android.com/reference/kotlin/androidx/window/embedding/EmbeddingAspectRatio#ALWAYS_ALLOW())       |   |
| [ALWAYS_DISALLOW](https://developer.android.com/reference/kotlin/androidx/window/embedding/EmbeddingAspectRatio#ALWAYS_DISALLOW()) |   |

### setMaxAspectRatioInPortrait

Added in[1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)  

```
fun setMaxAspectRatioInPortrait(aspectRatio: EmbeddingAspectRatio): SplitPinRule.Builder
```

Sets the largest value of the aspect ratio, expressed as`height / width`in decimal form, of the parent window bounds in portrait when the split should be used. When the window aspect ratio is greater than requested here, activities in the secondary container will be stacked on top of the activities in the primary one, completely overlapping them.

This value is only used when the parent window is in portrait (height \>= width).

The default is[SPLIT_MAX_ASPECT_RATIO_PORTRAIT_DEFAULT](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitRule#SPLIT_MAX_ASPECT_RATIO_PORTRAIT_DEFAULT())if the app doesn't set, which is the recommend value to only allow split when the parent window is not too stretched in portrait.  

|                                                              Parameters                                                              |
|--------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `aspectRatio: `[EmbeddingAspectRatio](https://developer.android.com/reference/kotlin/androidx/window/embedding/EmbeddingAspectRatio) | the largest value of the aspect ratio, expressed as`height / width`in decimal form, of the parent window bounds in portrait when the split should be used. |

|                                                              See also                                                              |
|------------------------------------------------------------------------------------------------------------------------------------|---|
| [ratio](https://developer.android.com/reference/kotlin/androidx/window/embedding/EmbeddingAspectRatio#ratio(kotlin.Float))         |   |
| [ALWAYS_ALLOW](https://developer.android.com/reference/kotlin/androidx/window/embedding/EmbeddingAspectRatio#ALWAYS_ALLOW())       |   |
| [ALWAYS_DISALLOW](https://developer.android.com/reference/kotlin/androidx/window/embedding/EmbeddingAspectRatio#ALWAYS_DISALLOW()) |   |

### setMinHeightDp

Added in[1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)  

```
fun setMinHeightDp(minHeightDp: @IntRange(from = 0) Int): SplitPinRule.Builder
```

Sets the smallest value of height of the parent task window when the split should be used, in DP. When the window size is smaller than requested here, activities in the secondary container will be stacked on top of the activities in the primary one, completely overlapping them.

It is useful if it's necessary to split the parent window horizontally for this[SplitPinRule](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule).

The default is[SPLIT_MIN_DIMENSION_DP_DEFAULT](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitRule#SPLIT_MIN_DIMENSION_DP_DEFAULT())if the app doesn't set.[SPLIT_MIN_DIMENSION_ALWAYS_ALLOW](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitRule#SPLIT_MIN_DIMENSION_ALWAYS_ALLOW())means to always allow split.  

|                                                                                           Parameters                                                                                            |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
| `minHeightDp: @`[IntRange](https://developer.android.com/reference/kotlin/androidx/annotation/IntRange)`(from = 0) `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | the smallest value of height of the parent task window when the split should be used, in DP. |

|                                                                 See also                                                                  |
|-------------------------------------------------------------------------------------------------------------------------------------------|---|
| [TOP_TO_BOTTOM](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitAttributes.LayoutDirection#TOP_TO_BOTTOM()) |   |
| [BOTTOM_TO_TOP](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitAttributes.LayoutDirection#BOTTOM_TO_TOP()) |   |

### setMinSmallestWidthDp

Added in[1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)  

```
fun setMinSmallestWidthDp(minSmallestWidthDp: @IntRange(from = 0) Int): SplitPinRule.Builder
```

Sets the smallest value of the smallest possible width of the parent window in any rotation when the split should be used, in DP. When the window size is smaller than requested here, activities in the secondary container will be stacked on top of the activities in the primary one, completely overlapping them.

The default is[SPLIT_MIN_DIMENSION_DP_DEFAULT](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitRule#SPLIT_MIN_DIMENSION_DP_DEFAULT())if the app doesn't set.[SPLIT_MIN_DIMENSION_ALWAYS_ALLOW](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitRule#SPLIT_MIN_DIMENSION_ALWAYS_ALLOW())means to always allow split.  

|                                                                                               Parameters                                                                                               |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|
| `minSmallestWidthDp: @`[IntRange](https://developer.android.com/reference/kotlin/androidx/annotation/IntRange)`(from = 0) `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | the smallest value of the smallest possible width of the parent window in any rotation when the split should be used, in DP. |

### setMinWidthDp

Added in[1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)  

```
fun setMinWidthDp(minWidthDp: @IntRange(from = 0) Int): SplitPinRule.Builder
```

Sets the smallest value of width of the parent window when the split should be used, in DP. When the window size is smaller than requested here, activities in the secondary container will be stacked on top of the activities in the primary one, completely overlapping them.

The default is[SPLIT_MIN_DIMENSION_DP_DEFAULT](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitRule#SPLIT_MIN_DIMENSION_DP_DEFAULT())if the app doesn't set.[SPLIT_MIN_DIMENSION_ALWAYS_ALLOW](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitRule#SPLIT_MIN_DIMENSION_ALWAYS_ALLOW())means to always allow split.  

|                                                                                           Parameters                                                                                           |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| `minWidthDp: @`[IntRange](https://developer.android.com/reference/kotlin/androidx/annotation/IntRange)`(from = 0) `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html) | the smallest value of width of the parent window when the split should be used, in DP. |

### setSticky

Added in[1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)  

```
fun setSticky(isSticky: Boolean): SplitPinRule.Builder
```

Sets this rule to be sticky.  

|                                           Parameters                                            |
|-------------------------------------------------------------------------------------------------|------------------------------|
| `isSticky: `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | whether to be a sticky rule. |

|                                                               See also                                                               |
|--------------------------------------------------------------------------------------------------------------------------------------|---|
| [setSticky](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule.Builder#setSticky(kotlin.Boolean)) |   |

### setTag

Added in[1.4.0](https://developer.android.com/jetpack/androidx/releases/window#1.4.0)  

```
fun setTag(tag: String?): SplitPinRule.Builder
```

Sets a unique string to identify this[SplitPinRule](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule), which defaults to`null`. The suggested usage is to set the tag to be able to differentiate between different rules in the[SplitAttributesCalculatorParams.splitRuleTag](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitAttributesCalculatorParams#splitRuleTag()).  

|                                         Parameters                                          |
|---------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|
| `tag: `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)`?` | unique string to identify this[SplitPinRule](https://developer.android.com/reference/kotlin/androidx/window/embedding/SplitPinRule). |