6
A
回答
-1
6
這是我找到的最簡單的方法,來自https://forum.ionicframework.com/t/anyway-to-custom-the-tabbars-icon-with-my-own-svg-file/46131/36論壇。
在你app.scss文件,添加以下代碼:
ion-icon {
&[class*="custom-"] {
// Instead of using the font-based icons
// We're applying SVG masks
mask-size: contain;
mask-position: 50% 50%;
mask-repeat: no-repeat;
background: currentColor;
width: 1em;
height: 1em;
}
// custom icons
&[class*="custom-icon1"] {
mask-image: url(../assets/img/customicon1.svg);
}
&[class*="custom-icon2"] {
mask-image: url(../assets/img/customicon2.svg);
}
&[class*="custom-icon3"] {
mask-image: url(../assets/img/customicon3.svg);
}
}
然後在你的模板,你可以使用下面的HTML創建的圖標:
<ion-icon name="custom-icon1"></ion-icon>
在其他問題,人們會提出一種基於字體的方法。這個答案雖然不太複雜,但只要你不添加數百個圖標,你應該沒問題。需要注意的是,每個圖像都作爲一個單獨的請求發送,與字體方法一樣,所有圖像都包含在一個文件中,因此效率會更高一些。
+0
這在Android中不起作用。背景:currentColor;涵蓋一切 – TeodorKolev
2
3海關圖標例如
SCSS文件
.tabbar, .tabs-ios, .tabs-md , .tabs-wp{
.tab-button-icon {
background-repeat:no-repeat;
background-position:center;
height:24px;
width:24px;
background-size:contain;
-webkit-background-size: contain;
-moz-background-size: contain;
-o-background-size: contain;
&:before {
display:none;
}
}
}
.tabs-ios {
a[aria-selected=false]{
.tab-button-icon[ng-reflect-name=categories], .tab-button-icon[aria-label="categories"] {
background-image: url(../assets/img/categories_inactive.png);
}
.tab-button-icon[ng-reflect-name=home], .tab-button-icon[aria-label=home] {
background-image: url(../assets/img/explore_inactive.png);
}
.tab-button-icon[ng-reflect-name=hot], .tab-button-icon[aria-label=hot] {
background-image: url(../assets/img/hot_inactive.png);
}
}
a[aria-selected=true] {
//führ eventuellen text
//span {
//color: #f00; //whatever colour you want to use for the text
//}
.tab-button-icon[ng-reflect-name=categories], .tab-button-icon[aria-label=categories] {
background-image: url(../assets/img/categories_active.png);
}
.tab-button-icon[ng-reflect-name=home], .tab-button-icon[aria-label=home] {
background-image: url(../assets/img/explore_active.png);
}
.tab-button-icon[ng-reflect-name=hot], .tab-button-icon[aria-label=hot] {
background-image: url(../assets/img/hot_active.png);
}
}
}
.tabs-md {
a[aria-selected=false]{
.tab-button-icon[ng-reflect-name=categories], .tab-button-icon[aria-label="categories"] {
background-image: url(../assets/img/categories_inactive.png);
}
.tab-button-icon[ng-reflect-name=home], .tab-button-icon[aria-label=home] {
background-image: url(../assets/img/explore_inactive.png);
}
.tab-button-icon[ng-reflect-name=hot], .tab-button-icon[aria-label=hot] {
background-image: url(../assets/img/hot_inactive.png);
}
}
a[aria-selected=true] {
//führ eventuellen text
//span {
//color: #f00; //whatever colour you want to use for the text
//}
.tab-button-icon[ng-reflect-name=categories], .tab-button-icon[aria-label=categories] {
background-image: url(../assets/img/categories_active.png);
}
.tab-button-icon[ng-reflect-name=home], .tab-button-icon[aria-label=home] {
background-image: url(../assets/img/explore_active.png);
}
.tab-button-icon[ng-reflect-name=hot], .tab-button-icon[aria-label=hot] {
background-image: url(../assets/img/hot_active.png);
}
}
}
.tabs-wp {
a[aria-selected=false]{
.tab-button-icon[ng-reflect-name=categories], .tab-button-icon[aria-label="categories"] {
background-image: url(../assets/img/categories_inactive.png);
}
.tab-button-icon[ng-reflect-name=home], .tab-button-icon[aria-label=home] {
background-image: url(../assets/img/explore_inactive.png);
}
.tab-button-icon[ng-reflect-name=hot], .tab-button-icon[aria-label=hot] {
background-image: url(../assets/img/hot_inactive.png);
}
}
a[aria-selected=true] {
//führ eventuellen text
//span {
//color: #f00; //whatever colour you want to use for the text
//}
.tab-button-icon[ng-reflect-name=categories], .tab-button-icon[aria-label=categories] {
background-image: url(../assets/img/categories_active.png);
}
.tab-button-icon[ng-reflect-name=home], .tab-button-icon[aria-label=home] {
background-image: url(../assets/img/explore_active.png);
}
.tab-button-icon[ng-reflect-name=hot], .tab-button-icon[aria-label=hot] {
background-image: url(../assets/img/hot_active.png);
}
}
}
HTML文件
<ion-tab [root]="tab2Root" tabIcon="categories"></ion-tab>
<ion-tab [root]="tab1Root" tabIcon="home"></ion-tab>
<ion-tab [root]="tab3Root" tabIcon="hot"></ion-tab>
源&更詳細地:https://forum.ionicframework.com/t/ionic2-tutorial-tabs-with-custom-active-inactive-icons/75163
相關問題
- 1. ionic2:自定義SVG圖標
- 2. ColdFusion的使用自定義標籤中自定義標籤
- 3. 使用ionic2標籤的自定義組件內
- 4. 自定義UITabBarController - 使用帶有UISegmentedcontrol的UIToolBar作爲標籤欄?
- 5. 使用標籤時自定義操作欄標題不帶圖標
- 6. 在帶有標籤的tableview中添加自定義按鈕
- 7. 帶變量的自定義標籤
- 8. 帶有自定義時間間隔標籤的高圖表
- 9. 帶有自定義標籤的繪圖矩陣R
- 10. 自定義帶有圖像和標籤的TableView單元
- 11. 帶有自定義文本/標籤的OpenLayers標記
- 12. 自定義圖例標籤
- 13. 如何在ionic2中添加新的自定義字體圖標
- 14. Tiff圖片上的自定義標籤:私有標籤
- 15. 如何在帶有coreplot的條形圖上同時使用自定義標籤和單獨條形標籤?
- 16. 帶標籤文件的自定義標籤處理程序類?
- 17. 自定義標籤欄圖標顏色
- 18. 動作條標籤,帶有自定義視圖不切換
- 19. 使用自定義標籤在php
- 20. 在NLTK中使用自定義標籤的培訓標記器
- 21. 使用自定義標籤之外的自定義標籤變量
- 22. 定義自定義標籤
- 23. 在帶有前綴「c」的標籤庫中定義的無標籤「if」
- 24. 如何使用圖標自定義標籤欄?
- 25. 使用彩色標籤圖標進行UITabbar自定義
- 26. 帶圖標的Android自定義EditText
- 27. 如何在Ionic2中添加用戶定義的圖標?
- 28. 在JOptionPane.showInputDialog中使用標題中的自定義圖標
- 29. LWUIT標籤:創建自定義標籤
- 30. Docusign自定義標籤 - 配方標籤
我認爲我們無法做到這一點看看這個https://github.com/driftyco/ionic/issues/7732 –