⑴ android開發,EditText,為什麼我用的時候它就只是一條線那樣的輸入框呢
沒見一個回答正確的。為什麼看以前的視頻和教材發現 最基本的輸入框是個方形?自己測試結果是個直線?這TM學IT也要掌握點基礎文化和基礎知識啊!
這是因為谷歌公司的交互界面在變化!以前安卓1.0到4.0之前,默認的輸入框是個和網頁輸入框一樣的方形,就是有四個邊框的長框形。然後,可能NC谷歌覺得這個完全不夠自己的逼格(或者說不能體現自己公司的牛逼-貶義),就調整了自己的設計風格。
安卓4.0及以後,默認的輸入框就是一條直線,然後下拉框類似,Switch開關按鈕也非要裝B的變一變,和iOS風格好有個區別。
所以,你現在用安卓4.0以上的版本做安卓開發,它顯示成直線那它給用戶用起來就是直線,因為它本來就被谷歌公司設計成了直線。你再去看網上那些幾年前老掉牙的視頻和圖片,人家自然是方框了。不要在意這些細節,少年!
另外,學IT記得把基礎知識和一些谷歌、微軟、蘋果和重要產品如安卓、iOS的東西多了解了解,省的遇到這種說是問題也不是問題的常識問題!
⑵ App登錄界面----布局篇
我自學了3個月的Android基礎,居然一個App都做不出來。在我之前學的同時居然忘記了之前學的內容。所以我現在重新開始復習,這篇文章將是我復習的開始也是基礎的穩固,同時也是將來記不得了可以自我回顧的筆記。首先是從App登錄開始。
首先第一是布局,登錄界面布局那就要用到控制項,登錄界面所需控制項如下:
1.姓名 輸入框 密碼 輸入框:就要有Textview文本控制項 X 2, Editview輸入文本框控制項 X 2
2.立即注冊 忘記密碼 登錄 :就要有Button控制項 X 3
既然要布局就要有布局控制項:可以用RelativeLayout相對布局,LinearLayout線性布局,TableLayout表格布局,FrameLayout幀布局,AbsoluteLayout絕對布局。我要選用就就是前兩個布局:RelativeLayout相對布局或者LinearLayout線性布局。
這就是我最終預想所要達到的效果:
首先打開布局文件:展開app--->res--->layout--->activity_main.xml
切換到設計模式Design:
然後從調色板Palette就是控制項庫拖拽出所需控制項:
2個Textview,2個Editview ,3個Button.一開始布局控制項就是相對布局控制項,RelativeLayout相對布局控制項允許通過指定顯示對象相對於父容器或其他兄弟控制項的相對位置結合margin,padding來進行布局。
然後我們再切換迴文本模式Text:
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>這就組成了一個控制項。
再來解釋解釋RelativeLayout相對布局控制項是啥意思:
上圖所表現的意思就是RelativeLayout相對布局控制項的特點:TextView文本控制項基於父容器(RelativeLayout相對布局控制項)之下,再看圖:
它會自動添加默認屬性:android:text="文本控制項"//這是文本屬性可以輸入文字
android:textSize="50dp"//這是文本大小屬性是控制text屬性的大小
android:layout_width="wrap_content"//這是寬,選擇的自適應屏幕
android:layout_height="wrap_content"這是高。
android:layout_marginTop="253dp"// 重點就在這里了:在RelativeLayout相對布局下拖出的控制項會有這條屬性,意思是TextView相距父容器253dp的距離
android:id="@+id/textView"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
好了我們繼續:我寫的這個布局呢?只用了兩個EditView控制項和三個Button控制項。先說EditView控制項。
拖拽出來改好了各種屬性但是和我的不一樣,哪裡不一樣?有邊框,邊框還是圓角。怎麼弄的?這是改變了它的樣式。首先目錄找到drawable文件按下Alt+lns鍵,點擊Drawable resource file
那就會彈出下面這個框框好創建資源文件,File name:這是資源文件的名字,Root element:這是需要創建什麼類型的資源文件。
假如沒有出現這個對話框而是另外的對話框就請更換模式
將Android 目錄模式切換成Project目錄模式
找到drawable文件重復上面操作就會出現
名字就自己取吧,類型選擇shape文件
這就是我為EditView設置的資源文件,那麼怎麼載入它呢?
用背景background屬性來載入:@drawable/border用@選擇文件位置載入就成功了。
文本框就做好了。噢!!!等等還有個屬性android:hint="登錄"還沒介紹,這是提示語:比如請輸入用戶名,請輸入密碼,這樣的提示語,只起到提示作用。範例:android:hint="請輸入用戶名"
好吧依次類推,Button按鈕也是這樣。我們先來看忘記密碼,立即注冊兩控制項這兩我沒這樣載入資源文件,我只用了3條屬性,
android:background="@null"//這條意思是背景設置路徑為空,作用是消除邊框。
android:shadowColor="#338AFF"//改變按鈕背景顏色,讓它看起來和相對布局背景融為一體。
android:textColor="#0066CC"//改變文字顏色
怎麼樣是不是和QQ登錄界面的差不多
那再來看立即登錄按鈕,這個按鈕我用了三個資源文件,為了讓按鈕按下抬起有一個變色效果,能夠反饋用戶視覺:您已按下按鈕。
首先看按下的資源文件:
這是按下的模樣,radius是設置圓角,然後是按下後的顏色。
再來看抬起:
這是抬起時候的樣子,圓角按下抬起都要設置一樣,不然按下是一個樣,抬起又是另一個樣子,然後是抬起的顏色。
這是兩個資源文件,如何讓按鈕呈現出按下抬起的不同效果呢?
就需要另一個資源文件來操控:selector資源文件
由他來控制這兩個資源文件:
<item/>這是資源文件的標簽,包括shape資源文件的:<corners/><solid/>都是標簽
標簽<item/>裡面
android:drawable="@drawable/clickroundedcolor"//是載入按下資源文件,
android:state_pressed="true"//true就是對,就是一個判斷作用,判斷是否按下,按下就載入按下的資源文件
然後再一個子標簽<item/>
<item android:drawable="@drawable/roundedcolor"/>也就是說當上面pressed不為true的時候執行下面這個標簽載入抬起狀態的效果。
這就做成了按下深藍抬起淺藍的顏色效果。那今天就到這里,復習到了什麼Editview Button控制項的使用然後在原來的基礎上學到了EditView 和Button控制項的UI設計一些細節效果。
還熟悉了Android studio。之前用Eclipse學習的Android,現在改用AS還特別不習慣,希望復習後我會熟練Android studio。恩,還有看到忘記密碼,立即注冊兩個按鈕是不是還會聯想到還有兩個布局。沒錯,忘記密碼和立即注冊這兩個布局文件,就不用記錄了,相信會了登錄主界面布局,其他兩個不在話下。
⑶ Android-EditView文本編輯控制項詳解
EditView 是Android開發當中運用到最多的控制項之一,主要用戶界面上的輸入框。
View --> TextView --> EditView 。
1.設置提示文本:
2.設置hint提示文字顏色:
3.設置輸入文本後的文字顏色:
4.設置輸入文本後的字體大小:
5.設置輸入文本後的字體樣式,bold(加粗),italic(傾斜),normal(默認是正常字體)。
6.設置被選中字體的顏色.默認為 Theme 主題中的 「colorAccent」的顏色。
7.設置被游標的顏色.默認為 Theme 主題中的 「colorAccent」的顏色。
8.設置文本的水平縮放系數。
9.設置hint提示文本的字體.normal(默認)\monospace\sans\serif。
10.設置EditText背景."@null"設置背景為透明.當我們設置背景後,EditText的下劃線就會消失。
11.設置文本的顏色,字體,大小和樣式。
12.設置只接收指定的文本內容,適合只能輸出特定內容的需求。
13.設置文本的類型,用於幫助輸入法顯示合適的鍵盤類型。
14.設置EditText最多接受的文本的個數:
15.設置EditText顯示的行數,設置兩行就顯示兩行,即使第二行沒有數據。
16.設置行間距的倍數. 如設置成1.5倍。
17.設置右下角IME動作與編輯框相關的動作,如actionDone右下角將顯示一個「完成」,而不設置默認是一個回車符號.
⑷ ios和android 瀏覽器適配問題總結
移動端、 適配(兼容)、 ios點擊事件300ms延遲、 點擊穿透、 定位失效......
關於Web移動端Fixed布局的解決方案,這篇文章也不錯 http://efe..com/blog/mobile-fixed-layout/
詳細介紹見這里: https://developer.mozilla.org/zh-CN/docs/Web/CSS/pointer-events
一篇文章有詳細介紹,地址: http://www.jb51.net/post/phone_web_ysk
//問題一解決,我目前用的是js。如下
//問題二,是因為form提交默認做了表單驗證,step默認是1,要設置step屬性,假如保留2位小數,寫法如下:
<input type="number"step="0.01"/>
關於step,我在這里做簡單的介紹,input 中type=number,一般會自動生成一個上下箭頭,點擊上箭頭默認增加一個step,點擊下箭頭默認會減少一個step。number中默認step是1。也就是step=0.01,可以允許輸入2位小數,並且點擊上下箭頭分別增加0.01和減少0.01。
假如step和min一起使用,那麼數值必須在min和max之間。
看下面的例子:
<input type="number"step="3.1"min="1"/>
輸入框可以輸入哪些數字?
首先,最小值是1,那麼可以輸入1.0,第二個是可以輸入(1+3.1)那就是4.1,以此類推,每次點擊上下箭頭都會增加或者減少3.1,輸入其他數字無效。這就是step的簡單介紹。
//問題三,去除input默認樣式
解決方式如下:
設置如下:
可以設置如下:
iOS 瀏覽器橫屏時會重置字體大小,設置 text-size-adjust 為 none 可以解決 iOS 上的問題,
但桌面版 Safari 的字體縮放功能會失效,因此最佳方案是將 text-size-adjust 為 100% 。
這個不是 BUG,由於自動播放網頁中的音頻或視頻,會給用戶帶來一些困擾或者不必要的流量消耗,所以蘋果系統和安卓系統通常都會禁止自動播放和使用 JS 的觸發播放,必須由用戶來觸發才可以播放。
解決方法思路:先通過用戶 touchstart 觸碰,觸發播放並暫停(音頻開始載入,後面用 JS 再操作就沒問題了)。
這個我感覺沒有什麼好的解決方案,用如下方法
有些機型的搜索input控制項會自帶close按鈕(一個偽元素),而通常為了兼容所有瀏覽器,我們會自己實現一個,此時去掉原生close按鈕的方法為:
如果想使用原生close按鈕,又想使其符合設計風格,可以對這個偽元素的樣式進行修改。
//zepto方式:
⑸ 騰訊QMUI Android框架使用(一)入門及目錄
把項目的 theme 的 parent 指向 QMUI.Compat,至此,QMUI 可以正常工作。
你可以通過在項目中的 theme 中用
的形式來覆蓋 QMUI 組件的默認表現。具體可指定的屬性名請參考 @style/QMUI.Compat 中的屬性。
對 Button 提供圓角功能,支持以下特性:
1.指定圓角的大小。
2.分別指定不同方向的圓角大小。
3.指定圓角的大小為高度的一半,並跟隨高度變化自適應圓角大小。
4.支持分別指定背景色和邊框色,指定顏色時支持使用 color 或 ColorStateList。
提供了一系列常用的對話框,解決了使用系統默認對話框時在不同 Android 版本上的表現不一致的問題。使用不同的 Builder 來構建不同類型的對話框,這些 Builder 都擁有設置 title 和添加底部按鈕的功能,不同的 Builder 特有的作用如下:
1.MessageDialogBuilder: 消息類型的對話框 Builder。通過它可以生成一個帶標題、文本消息、按鈕的對話框。
2.ConfirmMessageDialogBuilder: 帶 Checkbox 的消息確認框 Builder。
3.EditTextDialogBuilder: 帶輸入框的對話框 Builder。
4.MenuDialogBuilder: 菜單對話框 Builder。
5.CheckableDialogBuilder: 單選類型的對話框 Builder。
6.MultiCheckableDialogBuilder: 多選類型的對話框 Builder。
7.CustomDialogBuilder: 自定義對話框內容區域的 Builder。
8..AutoResizeDialogBuilder: 隨鍵盤升降自動調整 Dialog 高度的 Builder
類似 CSS 里 float: left 的浮動布局,從左到右排列子 View 並自動換行。支持以下特性:
1.控制子 View 之間的垂直/水平間距。
2.控制子 View 的水平對齊方向(左對齊/居中/右對齊)。
3.限制子 View 的個數或行數。
通用的空界面控制項,支持顯示 loading、主標題和副標題、圖片。
用於橫向多個 Tab 的布局,包含多個特性:
1.可以用 xml 或 QMUITabSegment 提供的 set 方法統一配置文字顏色、icon 位置、是否要下劃線等。
2.每個 Tab 都可以非常靈活的配置,內容上支持文字和 icon 的顯示,icon 支持選中態,支持內容的排版對齊方向設置,支持顯示紅點,3.支持插入自定義的 View,支持監聽雙擊事件等。
4.可以通過 setupWithViewPager(ViewPager) 方法與 ViewPager 綁定。
一個進度條控制項,通過顏色變化顯示進度,支持環形和矩形兩種形式,主要特性如下:
1.支持在進度條中以文字形式顯示進度,支持修改文字的顏色和大小。
2.可以通過 xml 屬性修改進度背景色,當前進度顏色,進度條尺寸。
3.支持限制進度的最大值。
通用的列表,常用於 App 的設置界面,注意其父類不是 ListView 而是 LinearLayout,所以一般要配合 ScrollView 使用。提供了 Section 的概念,用來將列表分塊。 配合 QMUIGroupListView.Section, QMUICommonListItemView 和 使用。
提供一個浮層展示在屏幕中間,提供了以下兩種樣式:
1.使用 QMUITipDialog.Builder 生成,提供了一個圖標和一行文字的樣式, 其中圖標有 Loading、成功、失敗等類型可選。
2.使用 QMUITipDialog.CustomBuilder 生成,支持傳入自定義的 layoutResId。
提供為圖片添加圓角、邊框、剪裁到圓形或其他形狀等功能。
在 TextView 的基礎上支持文字豎排。
下拉刷新控制項。支持自定義 RefreshView(表示正在刷新的 View),觸發刷新的位置等特性。
提供一個浮層,支持自定義浮層的內容,支持在指定 View 的任一方向旁邊展示該浮層,支持自定義浮層出現/消失的動畫。
相比 TextView,修正了兩個常見問題:
修正了 TextView 與 ClickableSpan 一起使用時,點擊 ClickableSpan 也會觸發 TextView 的事件的問題。
修正了 TextView 默認情況下如果添加了 ClickableSpan 之後就無法把點擊事件傳遞給 TextView 的 Parent 的問題。
使 TextView 能自動識別 URL、電話、郵箱地址,相比 TextView 有以下特點:
1.可以設置鏈接的樣式。
2.可以設置鏈接的點擊事件。
1.支持顯示表情的偽 TextView(繼續自定義 View,而不是真正的 TextView), 實現了 TextView 的 maxLine、ellipsize、textSize、textColor 等基本功能。
2.支持與 QMUITouchableSpan 配合使用實現內容可點擊。
支持二級結構的列表的折疊與展開;支持滾動時懸浮當前 section header; 支持在section list 或 section item list 前後添加自定義 View。
對 QMUITopBar 的包裹類,並代理了 QMUITopBar 的方法。配合 QMUIWindowInsetLayout 使用,可使 QMUITopBar 在支持沉浸式狀態欄的界面中頂部延伸到狀態欄。