2016-09-29 103 views
1

標籤內的文本默認情況下在iOS上是垂直對齊的,但在Android中不是。如何在Android上垂直居中(我有興趣將Label放置在Label中,而不是將標籤封裝在其他任何佈局中以獲得相同的效果)?Nativescript:如何在Android上標籤內部垂直對齊文本

查看我的意思是運行iOS和Android上的下一個代碼。

XML:

<Page xmlns="http://schemas.nativescript.org/tns.xsd" loaded="onLoaded"> 
    <Label text="test" /> 
</Page> 

CSS:

Label { 
    width: 60; 
    height: 60; 
    text-align: center; 
    background-color: aquamarine; 
    border-radius: 30; 
} 

回答

5

填充相應設置爲(寬度 - 字體大小)/ 2(粗略近似可能不同小盒其中大寫或小寫字母具有不同的中心點)

例如

Label { 
    width: 60; 
    height: 60; 
    border-radius: 30; 
    text-align:center; 
    background-color: aquamarine; 
    padding: 15; 
    font-size: 20; 
} 

或例如具有更大的尺寸:

Label { 
    width: 200; 
    height: 200; 
    border-radius: 100; 
    text-align:center; 
    background-color: aquamarine; 
    padding: 80; 
    font-size: 20; 
} 

P.S如果你換你的標籤在StackLayout你將不再需要高度

例如

<StackLayout> 
    <Label text="test" class="title"/> 
    </StackLayout> 

Label { 
    width: 200; 
    border-radius: 100; 
    text-align:center; 
    background-color: aquamarine; 
    padding: 80; 
    font-size: 20; 
} 
+0

感謝尼克價值!這工作。 – terreb

+1

第二個想法必須是(高度 - 字體大小)/ 2,但在上面的情況下,寬度和高度都有相同的值,因此它可以用於比例尺寸 –

+0

當我將填充更改爲(高度 - 字體大小)/2文本從底部剪切。所以,是的,這仍然需要針對不同的字體大小進行調整。 – terreb