本文是 《motionlayout 基礎教程》 的第2
篇,主要向讀者介紹如何在motionscene
檔案中定義場景約束以及如何使用自定義屬性。
可以在元素中使用
子元素定義乙個場景約束集,並在
元素中使用
元素定義單個
view
的屬性約束。
例:在motionscene
檔案中定義end
場景的約束集
<?xml version="1.0" encoding="utf-8"?>
複製**
實際上,你即可以把start
場景的約束集定義在motionscene
檔案中,也可以把end
場景的約束集定義在motionscene
檔案中。或者僅在motionscene
檔案中定義這兩者之一,另乙個場景使用layout
布局檔案定義。
建議:建議把例:在start
場景和end
場景的約束集都定義在motionscene
檔案中。因為motionlayout
框架某些特性(例如自定義屬性(下節會介紹))依賴於motionscene
檔案中start
場景,如果start
場景沒有定義在motionscene
檔案中,這些特性可能會無法使用。
motionscene
檔案中定義start
場景約束與end
場景約束(本示例分為以下兩步)
1. 建立布局檔案:
檔名:activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
場景約束和提示:布局檔案還是要有的,並不是說將start
end
場景約束都定義在了motionscene
檔案中就可以不需要布局檔案了。布局檔案預覽:
2. 建立
motionscene
檔案:檔名:activity_main_motion_scene.xml
<?xml version="1.0" encoding="utf-8"?>
複製**
元素屬性說明:
元素屬性說明:
提示1
提示2
提示3
提示4
:【浮點值】在關聯的view
上呼叫setprogress(float)
方法(用於與巢狀的constraintlayout
互動)
前面說過,元素用來定義單個
view
的屬性約束,它支援對view
的所有constraintlayout
屬性定義約束,以及對view
的下面這些標準屬性定義約束:
當view
的標準屬性或者constraintlayout
屬性發生改變時,motionlayout
會自動應用過渡動畫。
motionlayout
控制項只會檢測標準屬性和constraintlayout
屬性這類布局相關的屬性變動,對於其他的屬性變動,如view
的背景顏色變動是無法檢測出來的,因此就需要使用自定義屬性。
在元素中使用
子元素來指定自定義屬性。
例:
<?xml version="1.0" encoding="utf-8"?>
複製**
效果預覽:
元素屬性說明:
剩下的其他屬性都是用來設定自定義屬性的值的。需要根據自定義屬性的值型別使用以下xml
屬性之一來設定自定義屬性的值::設定屬性的值(顏色型別)。
:設定屬性的值(顏色型別)。
:設定屬性的值(整數型別)。
:設定屬性的值(浮點型別)。
:設定屬性的值(字串型別)。
:設定屬性的值(尺寸型別)。
:設定屬性的值(尺寸型別)。
:設定屬性的值(布林型別)。
本篇文章是 《motionlayout 基礎教程》 的第2
篇,閱讀完這兩篇文章後您基本就能掌握motionlayout
的基礎內容了。
SwiftUI PDFOutline 基礎教程
pdfoutline物件樹狀層次結構,用於顯示pdf文件的結構的元件。class pdfoutline nsobject大綱是pdf文件的可選元件,可用於檢視文件的結構並在其中導航。大綱由文件的作者建立。如果使用大綱物件表示pdf文件大綱,則層次結構的根源是從pdf文件本身獲得的。該根輪廓是不可見的...
PHP安裝threads多執行緒擴充套件基礎教程
二 判斷php是ts還是nts版 通過phpinfo 檢視其中的 thread safety 項,這個專案就是檢視是否是執行緒安全,如果是 enabled,一般來說應該是ts版,否則是nts版。三 根據php ts nts版選擇對應pthreads的版本 五 安裝pthreads擴充套件 複製php...
Java DataInputStream教程書目錄
使用datainputstream從檔案讀取布林值 使用datainputstream從檔案讀取位元組陣列 使用datainputstream從檔案讀取位元組 使用datainputstream從檔案讀取char 使用datainputstream從檔案讀取雙倍 使用datainputstream從...