個人技術博客Alpha----Android Studio UI學習

項目聯系

這次的項目我在前端組,負責UI,下面簡略講下學到的內容和使用AS過程中遇到的一些問題及其解決方法。

常見UI控件的使用

1.TextView

1226386-20171109233300388-488348124.png1226386-20171109233311341-1960318853.png
在TextView中,首先用android:id給當前控件定義一個唯一標識符。在活動中通過這個標識符對控件進行事件注冊。android:layout_width和
android:layout_height指定了控件的寬度和高度。Android中所有控件都有這兩個屬性,可選值有match_parent和wrap_content。match_parent表示讓當前控件和父布局大小一樣,wrap_content表示讓當前控件的大小能夠剛好包含住里面的內容,也可以通過xxdp來自定義大小。通過android:text可以指定當前文本內容,android:textColor可以指定文字的顏色,android:textSize可以指定文字的大小,android:gravity可以指定文字的對齊方式,這里用的是center,表示水平和垂直方向都居中對齊。
以上是TextView的常用屬性。還有android:textStyle可以指定文字的字體,可選值有bold加粗,italic斜體,normal常規,也可以從外部導入自己下載的酷炫字體,不過要在活動里寫,這里就不詳細說了。

2.Button

Button是程序和用戶進行交互的重要控件。Button可配置的屬性和TextView差不多,主要是Button里的android:text設置的文字會把所有英文自動進行大寫轉換,如果我們不想要全部大寫,可以通過android:textAllCaps="false"來禁用這個默認特性
1226386-20171110001010372-542935783.png1226386-20171110001024981-546543558.png1226386-20171110001232841-404884759.png1226386-20171110001242716-102534527.png

3.EditText

EditText是程序和用戶進行交互的另一個重要控件,它允許用戶在控件里輸入和編輯內容,并可以在程序中對這些內容進行處理。我們可以使用android:hint屬性指定提示文本,當我們輸入任意內容時,提示文本會自動消失。在這里EditText指定的高度時wrap_content,它總能包含住里面的內容,但是隨著內容的增多EditText會被不斷拉長,當內容過多時界面就會很難看,這時候我們可以使用andriod:maxLines屬性來指定EditText的行數。當輸入的內容超過兩行時,文本就會向上滾動,而EditText則不會繼續拉伸。1226386-20171112201237981-1584527237.png1226386-20171112201247325-841056456.png

4.ImageView

ImageView是用來在界面上展示圖片的控件。需要使用的圖片要先放到drawable目錄里,然后使用android:src屬性指定我們要用的圖片。
1226386-20171112202234888-992686618.png1226386-20171112202244669-924912139.png1226386-20171112202253809-1859167903.png

5.ProgressBar

ProgressBar用于在界面上顯示一個進度條,表示我們的程序正在加載一些數據。
1226386-20171112205518044-522595597.png1226386-20171112205525169-1924257525.png

我們可以通過style屬性將進度條指定成水平進度條,然后我們還可以通過android:max屬性給進度條設置一個最大值。然后在代碼中動態地更改進度條進度。
1226386-20171112225735669-471515165.png1226386-20171112225745200-165884647.png1226386-20171112225751481-1413607987.png

6.AlertDialog

AlertDialog可以在當前界面彈出一個置于所有界面元素之上的對話框,能夠屏蔽掉其他控件的交互能力,一般用來提示一些重要的內容或者警告信息,比如防止用戶誤刪重要內容,在刪除前彈出一個確認框。
1226386-20171115173808421-1498844882.png1226386-20171115173821843-806025341.png

常用布局

1.線性布局Linearlayout

  • 線性布局是一種很常用的布局,它會將它所包含的控件在線性方向上依次排列,方向有垂直vertical和水平honrizontal兩種。方向通過android:orientation屬性來設定,如果不指定,默認的排列方式就是horizontal。
    1226386-20171115175419906-1150601177.png1226386-20171115175430015-19538928.png
  • 在線性布局里我們通過android:layout_gravity指定控件在布局中的對齊方式,可選值和android:gravity差不多。

  • 線性布局里有個屬性非常重要————android:layout_weight(權重),通過它我們可以使用比例的方式來指定控件的大小。

1226386-20171116021304515-1311210069.png

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
xmlns:tools="http://schemas.android.com/tools"    
android:id="@+id/LinearLayout1"    
android:layout_width="match_parent"    
android:layout_height="match_parent"  
android:orientation="horizontal" >    <TextView    android:layout_weight="1"    android:layout_width="wrap_content"    android:layout_height="fill_parent"    android:text="one"     android:background="#98FB98"    />    <TextView    android:layout_weight="2"    android:layout_width="wrap_content"    android:layout_height="fill_parent"    android:text="two"     android:background="#FFFF00"    />    <TextView    android:layout_weight="3"    android:layout_width="wrap_content"    android:layout_height="fill_parent"    android:text="three"     android:background="#FF00FF"    />    

2.相對布局Relative

相對布局和線性布局相比顯得比較隨意,控件可以出現在任意的位置,所以它的屬性非常的多,這里貼張菜鳥教程里的學習圖
1226386-20171116022455077-301034060.png
其實layout_marginLeft、 layout_marginStart 、 layout_marginTop三個屬性搭配基本就可以任意指定控件的位置了

遇到的錯誤及解決

1.

有些機子3.0版本的as會出現這個錯誤,項目剛創建完就報錯。具體的原因還不太清楚,網上有人是說圖片的合法性檢測,可這個項目是空的。。。

Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details
Error:Execution failed for task ':app:mergeDebugResources'.> Error: java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details

解決很簡單,只要在項目的gradle.properties中加入這句代碼即可:

android.enableAapt2=false

2.

重新打開我們的項目時,有時候會有莫名報錯或者模擬器運行跑不起來,經過檢查如果不是語法錯誤之類的可以先clean project 再rebuild project ,這個方法解決了許多看不懂的報錯。。。

收獲

通過這個項目接觸了as,算是初步認識了一個新工具,還有GitHub的使用。最重要的收獲還是因為這個項目真正體驗了軟件開發的過程,對軟件工程有了一個大致的認識。

轉載于:https://www.cnblogs.com/noodlehouse/p/7812130.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/390850.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390850.shtml
英文地址,請注明出處:http://en.pswp.cn/news/390850.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據科學家數據分析師_站出來! 分析人員,數據科學家和其他所有人的領導和溝通技巧...

數據科學家數據分析師這一切如何發生&#xff1f; (How did this All Happen?) As I reflect on my life over the past few years, even though I worked my butt off to get into Data Science as a Product Analyst, I sometimes still find myself begging the question, …

leetcode 810. 黑板異或游戲

黑板上寫著一個非負整數數組 nums[i] 。Alice 和 Bob 輪流從黑板上擦掉一個數字&#xff0c;Alice 先手。如果擦除一個數字后&#xff0c;剩余的所有數字按位異或運算得出的結果等于 0 的話&#xff0c;當前玩家游戲失敗。 (另外&#xff0c;如果只剩一個數字&#xff0c;按位異…

react-hooks_在5分鐘內學習React Hooks-初學者教程

react-hooksSometimes 5 minutes is all youve got. So in this article, were just going to touch on two of the most used hooks in React: useState and useEffect. 有時只有5分鐘。 因此&#xff0c;在本文中&#xff0c;我們僅涉及React中兩個最常用的鉤子&#xff1a; …

分析工作試用期收獲_免費使用零編碼技能探索數據分析

分析工作試用期收獲Have you been hearing the new industry buzzword — Data Analytics(it was AI-ML earlier) a lot lately? Does it sound complicated and yet simple enough? Understand the logic behind models but dont know how to code? Apprehensive of spendi…

select的一些問題。

這個要怎么統計類別數呢&#xff1f; 哇哇哇 解決了。 之前怎么沒想到呢&#xff1f;感謝一樓。轉載于:https://www.cnblogs.com/AbsolutelyPerfect/p/7818701.html

html5語義化標記元素_語義HTML5元素介紹

html5語義化標記元素Semantic HTML elements are those that clearly describe their meaning in a human- and machine-readable way. 語義HTML元素是以人類和機器可讀的方式清楚地描述其含義的元素。 Elements such as <header>, <footer> and <article> …

重學TCP協議(12)SO_REUSEADDR、SO_REUSEPORT、SO_LINGER

1. SO_REUSEADDR 假如服務端出現故障&#xff0c;主動斷開連接以后&#xff0c;需要等 2 個 MSL 以后才最終釋放這個連接&#xff0c;而服務重啟以后要綁定同一個端口&#xff0c;默認情況下&#xff0c;操作系統的實現都會阻止新的監聽套接字綁定到這個端口上。啟用 SO_REUSE…

殘疾科學家_數據科學與殘疾:通過創新加強護理

殘疾科學家Could the time it takes for you to water your houseplants say something about your health? Or might the amount you’re moving around your neighborhood reflect your mental health status?您給植物澆水所需的時間能否說明您的健康狀況&#xff1f; 還是…

POJ 3660 Cow Contest [Floyd]

POJ - 3660 Cow Contest http://poj.org/problem?id3660 N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we all know, some cows code better than others. Each cow has a certain constant skill rating that is un…

Linux 網絡相關命令

1. telnet 1.1 檢查端口是否打開 執行 telnet www.baidu.com 80&#xff0c;粘貼下面的文本&#xff08;注意總共有四行&#xff0c;最后兩行為兩個空行&#xff09; telnet [domainname or ip] [port]例如&#xff1a; telnet www.baidu.com 80 如果這個網絡連接可達&…

JSON.parseObject(String str)與JSONObject.parseObject(String str)的區別

一、首先來說說fastjson fastjson 是一個性能很好的 Java 語言實現的 JSON 解析器和生成器&#xff0c;來自阿里巴巴的工程師開發。其主要特點是&#xff1a; ① 快速&#xff1a;fastjson采用獨創的算法&#xff0c;將parse的速度提升到極致&#xff0c;超過所有基于Java的jso…

jQuery Ajax POST方法

Sends an asynchronous http POST request to load data from the server. Its general form is:發送異步http POST請求以從服務器加載數據。 其一般形式為&#xff1a; jQuery.post( url [, data ] [, success ] [, dataType ] )url : is the only mandatory parameter. This…

spss23出現數據消失_改善23億人口健康數據的可視化

spss23出現數據消失District Health Information Software, or DHIS2, is one of the most important sources of health data in low- and middle-income countries (LMICs). Used by 72 different LMIC governments, DHIS2 is a web-based open-source platform that is used…

01-hibernate注解:類級別注解,@Entity,@Table,@Embeddable

Entity Entity:映射實體類 Entity(name"tableName") name:可選&#xff0c;對應數據庫中一個表&#xff0c;若表名與實體類名相同&#xff0c;則可以省略。 注意&#xff1a;使用Entity時候必須指定實體類的主鍵屬性。 第一步&#xff1a;建立實體類&#xff1a; 分別…

leetcode 1707. 與數組中元素的最大異或值

題目 給你一個由非負整數組成的數組 nums 。另有一個查詢數組 queries &#xff0c;其中 queries[i] [xi, mi] 。 第 i 個查詢的答案是 xi 和任何 nums 數組中不超過 mi 的元素按位異或&#xff08;XOR&#xff09;得到的最大值。換句話說&#xff0c;答案是 max(nums[j] XO…

MySQL基礎入門學習【2】數據類型

數據類型&#xff1a;指列、存儲過程參數、表達式和局部變量的數據特征&#xff0c;它決定了數據的存儲格式&#xff0c;代表了不同的信息類型 &#xff08;1&#xff09; 整型(按存儲范圍分類)&#xff1a;TINYINT&#xff08;1字節&#xff09; SAMLLINT&#xff08;2字節&am…

昆西·拉森的凈資產是多少?

People ask me how much I get paid all the time. It comes up on podcast interviews, Quora questions, and face-to-face discussions.人們問我&#xff0c;我一直得到多少報酬。 它來自播客訪談&#xff0c;Quora問題和面對面的討論。 And people search this question a…

COVID-19研究助理

These days scientists, researchers, doctors, and medical professionals face challenges to develop answers to their high priority scientific questions.如今&#xff0c;科學家&#xff0c;研究人員&#xff0c;醫生和醫學專家面臨著挑戰&#xff0c;無法為其高度優先…

Node.js umei圖片批量下載Node.js爬蟲1.00

這個爬蟲在abaike爬蟲的基礎上改改圖片路徑和下一頁路徑就出來了&#xff0c;代碼如下&#xff1a; // // umei圖片批量下載Node.js爬蟲1.00 // 2017年11月13日 //// 內置http模塊 var httprequire("http");// 內置文件處理模塊&#xff0c;用于創建目錄和圖片文件 v…

交通銀行信息技術管理部副總經理張漫麗:交通銀行“大數據+人工智能”應用研究...

文 | 交通銀行信息技術管理部副總經理張漫麗 大數據隱含著巨大的社會、經濟、科研價值&#xff0c;已引起了各行各業的高度重視。如果能通過人工智能技術有效地組織和使用大數據&#xff0c;將對社會經濟和科學研究發展產生巨大的推動作用&#xff0c;同時也孕育著前所未有的機…