A. android怎麼讓文字垂直居中
控制內部文字 垂直居中 試試這個屬性 android:gravity="center_vertical";
B. Android Studio 中的布局
在Android Studio中的布局共有6種布局(已知):
只能在LinearLayout中實現,
父類添加orientation屬性(horizontal水平排列 | Vertical垂直排序),
在子類中添加權重layout_weight 數字越大,佔比越大。
相對於父容器 (居中):水平居中android:layout_centerHorizontal
敬茄 完全居中android:layout_centerInParent
敗清 垂直居中android:layout_centerVertical
對齊:與父容器左邊界對齊:android:layout alignParentLeft
與父容器右邊界對齊:android:layout alignParentRight
與父容器的頂部對齊android:layout_alignParentTop
與父容器的底部對齊android:layout_alignParentBottom
相對於兄弟視圖控制項: (位置): 顯示在ID為but_id的左側android:layout_toLeftOf
顯示在ID為but_id的右側android:layout_toRightOf
顯示在ID為but_id的上方android:layout_above
亮枯察 顯示在ID為but_id的下方android:layout_below
對齊: 與ID為but_id的左側對齊android:layout_alignLeft
與ID為but_id的右側對齊android:layout_alignRight
與ID為but_id的頂部對齊android:layout_alignTop
與ID為but_id的底部對齊android:layout_alignBottom
3、絕對布局
只能在AbsoluteLayout中使用,再要操作的類中使用android:layout_y,android:layout_x
4、幀布局
只能在FrameLayout中使用,使用 View(並列),可以大套小
5、表格布局
在TableLayout類中使用TableRow(行),Button(格)在其TableRow(行)中。
6、網格布局
在GridLayout類中使用Button直接寫入,
在類屬性中添加android:rowCount="5"(5行),或android:columnCount="4"(4列)
在常見的網頁中大部分為線性布局
C. 怎麼設置垂直居中
以excel2007為例,在excel表格的時候,若用戶想要設置垂直居中,只需選中要設置的敬亮表格,接著右鍵點擊,在彈出的選項里點擊設置單元格格式,打開後在對齊欄里點擊垂直對齊選項下方的倒三角圖標,然後選擇居中,選擇好後點擊確定就可以了。
除此之外,用戶想要設置垂直居中的話,也可以在選中表格後點擊頁面上方的開始,接著在開始欄里點擊對齊方式選項後面的箭頭圖標,然後就可以進行相關設置了。
excel表格使用技巧:在使用表格的時候,若用戶想要刪除所有表格里的內扒稿鬧容,可以直接選中所有表格,然後右鍵點擊,在彈出的選項里點擊清除所有內容就可以了。
若用戶想要在表格里插入文本,只需點擊頁面上方的春罩插入,進入到插入欄後點擊文本框,選擇文本格式後進行繪制就可以了。
資料拓展:MicrosoftExcel是Microsoft為使用Windows和AppleMacintosh操作系統的電腦編寫的一款電子表格軟體。它可以在MicrosoftWindows、WindowsPhone、Mac系列、iOS和Android等系統上運行。
更多關於如何設置垂直居中,進入:https://m.abcgonglue.com/ask/23912d1615816100.html?zd查看更多內容
D. android:layout_alignparentright=true起到什麼作用
android:layout_alignparentright=true起到的作用是使得當前控制項相對於父元素的有邊緣對齊,這是Android relative layout 布局胡臘尺方式中的一種。
layout_alignparentright參數值為true或false,true表示採用貼緊父元素的右邊緣的方式布局,false表示無效,不採用貼緊父元素的右邊緣的方式。
相對於父元素的對齊方式還有:
android:layout_centerInparent 相對於父元素完全居中
android:layout_alignParentBottom 貼緊父元素的下邊緣
android:layout_alignParentLeft 貼緊父元素的左邊緣
android:layout_alignParentRight 貼緊父元素的右邊緣
android:layout_alignParentTop 貼緊父元素的上邊緣
(4)android垂直居中對齊擴展閱讀:
Android相對布局的分類:
1、第一類:屬性值為true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_alignWithParentIfMissing 如果對應的兄弟元素找不到的話就以父元素做參照物
2、第二類:屬性值必須為id的引用名「@id/id-name」
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上局喚方
android:layout_toLeftOf 在某元素的左邊
android:layout_toRightOf 在某褲高元素的右邊
android:layout_alignTop 本元素的上邊緣和某元素的的上邊緣對齊
android:layout_alignLeft 本元素的左邊緣和某元素的的左邊緣對齊
android:layout_alignBottom 本元素的下邊緣和某元素的的下邊緣對齊
android:layout_alignRight 本元素的右邊緣和某元素的的右邊緣對齊
3、第三類:屬性值為具體的像素值,如40px
android:layout_marginBottom 離某元素底邊緣的距離
android:layout_marginLeft 離某元素左邊緣的距離
android:layout_marginRight 離某元素右邊緣的距離
android:layout_marginTop 離某元素上邊緣的距離
E. android怎麼讓文字垂直居中
有2種亮扒方法可以設置TextView文字居冊行中敬姿昌:
一:在xml文件設置:android:gravity="center"
二:在程序中設置:m_TxtTitle.setGravity(Gravity.CENTER);
F. android 代碼中設置控制項的垂直居中和兩個控制項之間的距離。
setPadding(int, int, int, int) 這個就可以控制邊距了
各種Layout用到的一些重要的屬性:
第一類:屬性值為true或false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相對於父元素完全居中
android:layout_alignParentBottom 貼緊父元素的下邊緣
android:layout_alignParentLeft 貼緊父元素的左邊緣
android:layout_alignParentRight 貼緊父元素的右邊緣
android:layout_alignParentTop 貼緊父元素的上邊緣
android:layout_alignWithParentIfMissing 如果對應的兄弟元素找不到的話就以父元素做參照物
第二類:屬性值必須為id的引用名「@id/id-name」
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左邊
android:layout_toRightOf 在某元素的右邊
android:layout_alignTop 本元素的上邊緣和某元素的的上邊緣對齊
android:layout_alignLeft 本元素的左邊緣和某元素的的左邊緣對齊
android:layout_alignBottom 本元素的下邊緣和某元素的的下邊緣對齊
android:layout_alignRight 本元素的右邊緣和某元素的的右邊緣對齊
第三類:屬性值為具體的像素值,如30dip,40px
android:layout_marginBottom 離某元素底邊緣的距離
android:layout_marginLeft 離某元素左邊緣的距離
android:layout_marginRight 離某元素右邊緣的距離
android:layout_marginTop 離某元素上邊緣的距離
EditText的android:hint
設置EditText為空時輸入框內的提示信息。
android:gravity
android:gravity屬性是對該view 內容的限定.比如一個button 上面的text. 你可以設置該text 在view的靠左,靠右等位置.以button為例,android:gravity=」right」則button上面的文字靠右
android:layout_gravity
android:layout_gravity是用來設置該view相對與起父view 的位置.比如一個button 在linearlayout里,你想把該button放在靠左、靠右等位置就可以通過該屬性設置.以button為例,android:layout_gravity=」right」則button靠右
android:layout_alignParentRight
使當前控制項的右端和父控制項的右端對齊。這里屬性值只能為true或false,默認false。
android:scaleType:
android:scaleType是控制圖片如何resized/moved來匹對ImageView的size。ImageView.ScaleType / android:scaleType值的意義區別:
CENTER /center 按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則截取圖片的居中部分顯示
CENTER_CROP / centerCrop 按比例擴大圖片的size居中顯示,使得圖片長(寬)等於或大於View的長(寬)
CENTER_INSIDE / centerInside 將圖片的內容完整居中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬
FIT_CENTER / fitCenter 把圖片按比例擴大/縮小到View的寬度,居中顯示
FIT_END / fitEnd 把圖片按比例擴大/縮小到View的寬度,顯示在View的下部分位置
FIT_START / fitStart 把圖片按比例擴大/縮小到View的寬度,顯示在View的上部分位置
FIT_XY / fitXY 把圖片不按比例擴大/縮小到View的大小顯示
MATRIX / matrix用矩陣來繪制,動態縮小放大圖片來顯示。
XML屬性
屬性名稱
描述
android:background
設置背景色/背景圖片。可以通過以下兩種方法設置背景為透明:」@android:color /transparent」和」@null」。注意TextView默認是透明的,不用寫此屬性,但是Buttom/ImageButton /ImageView想透明的話就得寫這個屬性了。
android:clickable
是否響應點擊事件。
android:contentDescription
設置View的備注說明,作為一種輔助功能提供,為一些沒有文字描述的View提供說明,如ImageButton。這里在界面上不會有效果,自己在程序中控制,可臨時放一點字元串數據。
android:drawingCacheQuality
設置繪圖時半透明質量。有以下值可設置:auto(默認,由框架決定)/high(高質量,使用較高的顏色深度,消耗更多的內存)/low(低質量,使用較低的顏色深度,但是用更少的內存)。
android:plicateParentState
如果設置此屬性,將直接從父容器中獲取繪圖狀態(游標,按下等)。 見下面代碼部分,注意根據目前測試情況僅僅是獲取繪圖狀態,而沒有獲取事件,也就是你點一下LinearLayout時Button有被點擊的效果,但是不執行點擊事件。
android:fadingEdge
設置拉滾動條時 ,邊框漸變的放向。none(邊框顏色不變),horizontal(水平方向顏色變淡),vertical(垂直方向顏色變淡)。參照fadingEdgeLength的效果圖
android:fadingEdgeLength
設置 邊框漸變的長度。
android:fitsSystemWindows
設置布局調整時是否考慮系統窗口(如狀態欄)
android:focusable
設置是否獲得焦點。若有requestFocus()被調用時,後者優先處理。注意在表單中想設置某一個如 EditText獲取焦點,光設置這個是不行的,需要將這個EditText前面的focusable都設置為false才行。在Touch模式下獲取焦點需要設置focusableInTouchMode為true。
android:focusableInTouchMode
設置在Touch模式下View是否能取得焦點。
android:hapticFeedbackEnabled
設置長按時是否接受其他觸摸反饋事件。這里模擬器沒有試出效果,難道是多點觸摸?找不到資料可以找找performHapticFeedback或HapticFeedback這個關鍵字的資料看看。
android:id
給當前View設置一個在當前layout.xml中的唯一編號,可以通過調用View.findViewById() 或Activity.findViewById()根據這個編號查找到對應的View。不同的layout.xml之間定義相同的id不會沖突。格式如」@+id/btnName」
android:isScrollContainer
設置當前View為滾動容器。這里沒有測試出效果來,ListView/ GridView/ ScrollView根本就不用設置這個屬性,而EdidText設置android:scrollbars也能出滾動條。
android:keepScreenOn
View在可見的情況下是否保持喚醒狀態。
常在LinearLayout使用該屬性,但是模擬器這里沒有效果。
android:longClickable
設置是否響應長按事件.
android:minHeight
設置視圖最小高度
android:minWidth
設置視圖最小寬度度
android:nextFocusDown
設置下方指定視圖獲得下一個焦點。焦點移動是基於一個在給定方向查找最近鄰居的演算法。如果指定視圖不存在,移動焦點時將報運行時錯誤。可以設置imeOptions= actionDone,這樣輸入完即跳到下一個焦點。
android:nextFocusLeft
設置左邊指定視圖獲得下一個焦點。
android:nextFocusRight
設置右邊指定視圖獲得下一個焦點。
android:nextFocusUp
設置上方指定視圖獲得下一個焦點。
android:onClick
點擊時從上下文中調用指定的方法。這里指定一個方法名稱,一般在Activity定義符合如下參數和返回值的函數並將方法名字元串指定為該值即可:
public void onClickButton(View view)
android:onClick=」 onClickButton」
android:padding
設置上下左右的邊距,以像素為單位填充空白。
android:paddingBottom
設置底部的邊距,以像素為單位填充空白。
android:paddingLeft
設置左邊的邊距,以像素為單位填充空白。
android:paddingRight
設置右邊的邊距,以像素為單位填充空白。.
android:paddingTop
設置上方的邊距,以像素為單位填充空白。
android:saveEnabled
設置是否在窗口凍結時(如旋轉屏幕)保存View的數據,默認為true,但是前提是你需要設置id才能自動保存,參見這里。
android:scrollX
以像素為單位設置水平方向滾動的的偏移值,在GridView中可看的這個效果。
android:scrollY
以像素為單位設置垂直方向滾動的的偏移值
android:
設置是否始終顯示垂直滾動條。這里用ScrollView、ListView測試均沒有效果。
android:
設置是否始終顯示垂直滾動條。這里用ScrollView、ListView測試均沒有效果。
android:
設置N毫秒後開始淡化,以毫秒為單位。
android:scrollbarFadeDuration
設置滾動條淡出效果(從有到慢慢的變淡直至消失)時間,以毫秒為單位。Android2.2中滾動條滾動完之後會消失,再滾動又會出來,在1.5、1.6版本裡面會一直顯示著。
android:scrollbarSize
設置滾動條的寬度。
android:scrollbarStyle
設置滾動條的風格和位置。設置值:insideOverlay、insideInset、outsideOverlay、outsideInset。這里沒有試出太多效果,以下依次是outsideOverlay與outsideInset效果截圖比較:
android:scrollbarThumbHorizontal
設置水平滾動條的drawable(如顏色)。
android:scrollbarThumbVertical
設置垂直滾動條的drawable(如顏色).
android:scrollbarTrackHorizontal
設置水平滾動條背景(軌跡)的色drawable(如顏色)
android:scrollbarTrackVertical
設置垂直滾動條背景(軌跡)的drawable注意直接設置顏色值如」android:color/white」將得出很難看的效果,甚至都不理解這個屬性了,這里可以參見ApiDemos里res/drawable/ scrollbar_vertical_thumb.xml和scrollbar_vertical_track.xml,設置代碼為:android:scrollbarTrackVertical ="@drawable/scrollbar_vertical_track"
android:scrollbars
設置滾動條顯示。none(隱藏),horizontal(水平),vertical(垂直)。見下列代碼演示使用該屬性讓EditText內有滾動條。但是其他容器如LinearLayout設置了但是沒有效果。
android:soundEffectsEnabled
設置點擊或觸摸時是否有聲音效果
android:tag
設置一個文本標簽。可以通過View.getTag()或 for with View.findViewWithTag()檢索含有該標簽字元串的View。但一般最好通過ID來查詢View,因為它的速度更快,並且允許編譯時類型檢查。
android:visibility
設置是否顯示View。設置值:visible(默認值,顯示),invisible(不顯示,但是仍然佔用空間),gone(不顯示,不佔用空間)
XML屬性
屬性名稱描述
android:background 設置背景色/背景圖片。可以通過以下兩種方法設置背景為透明:」@android:color/transparent」和」@null」。注意 TextView 默認是透明的,不用寫此屬性,但是Buttom/ImageButton/ImageView想透明的話就得寫這個屬性了。
android:clickable 是否響應點擊事件。
android:contentDescription 設置View的備注說明,作為一種輔助功能提供,為一些沒有文字描述的View提供說明,如ImageButton。這里在界面上 不會有效果,自己在程序中控制,可臨時放一點字元串數據。
android:drawingCacheQuality 設置繪圖時半透明質量。有以下值可設置:auto(默認,由框架決定)/high(高質量,使用較高的顏色深度,消耗更多的內存)/low(低質量,使用較低的顏色深度,但是用更少的內存)。
android:plicateParentState 如果設置此屬性,將直接從父容器中獲取繪圖狀態(游標,按下等)。見下面代碼部分,注意根據目前測試情況僅僅是獲取繪圖狀態,而沒有獲取事件,也就是你點一下LinearLayout時Button有被點擊的效果,但是不執行點擊事件。
android:fadingEdge 設置拉滾動條時,邊框漸變的放向。none(邊框顏色不變),horizontal(水平方向顏色變淡),vertical(垂直方向顏色變淡)。參照fadingEdgeLength的效果圖
android:fadingEdgeLength 設置邊框漸變的長度。
android:fitsSystemWindows 設置布局調整時是否考慮系統窗口(如狀態欄)
android:focusable 設置是否獲得焦點。若有requestFocus()被調用時,後者優先處理。注意在表單中想設置某一個如EditText獲取焦點,光設置這個是不行的,需要將這個EditText前面的focusable都設置為false才行。在Touch模式下獲取焦點需要設置 focusableInTouchMode為true。
android:focusableInTouchMode 設置在Touch模式下View是否能取得焦點。
android:hapticFeedbackEnabled 設置長按時是否接受其他觸摸反饋事件。這里模擬器沒有試出效果,難道是多點觸摸?找不到資料可以找找performHapticFeedback或HapticFeedback這個關鍵字的資料看看。
android:id 給當前View設置一個在當前layout.xml中的唯一編號,可以通過調用View.findViewById() 或Activity.findViewById()根據這個編號查找到對應的View。不同的layout.xml之間定義相同的id不會沖突。格式如」@+id/btnName」
android:isScrollContainer 設置當前View為滾動容器。這里沒有測試出效果來,ListView/ GridView/ ScrollView根本就不用設置這個屬性,而EdidText設置android:scrollbars也能出滾動條。
android:keepScreenOn View在可見的情況下是否保持喚醒狀態。
常在LinearLayout使用該屬性,但是模擬器這里沒有效果。
android:longClickable 設置是否響應長按事件.
android:minHeight 設置視圖最小高度
android:minWidth 設置視圖最小寬度度
android:nextFocusDown 設置下方指定視圖獲得下一個焦點。焦點移動是基於一個在給定方向查找最近鄰居的演算法。如果指定視圖不存在,移動焦點時將報運行時錯誤。可以設置imeOptions= actionDone,這樣輸入完即跳到下一個焦點。
android:nextFocusLeft 設置左邊指定視圖獲得下一個焦點。
android:nextFocusRight 設置右邊指定視圖獲得下一個焦點。
android:nextFocusUp 設置上方指定視圖獲得下一個焦點。
android:onClick 點擊時從上下文中調用指定的方法。這里指定一個方法名稱,一般在Activity定義符合如下參數和返回值的函數並將方法名字元串指定為該值即可:
public voidonClickButton(View view)
android:onClick=」onClickButton」
android:padding 設置上下左右的邊距,以像素為單位填充空白。
android:paddingBottom 設置底部的邊距,以像素為單位填充空白。
android:paddingLeft 設置左邊的邊距,以像素為單位填充空白。
android:paddingRight 設置右邊的邊距,以像素為單位填充空白。.
android:paddingTop 設置上方的邊距,以像素為單位填充空白。
android:saveEnabled 設置是否在窗口凍結時(如旋轉屏幕)保存View的數據,默認為true,但是前提是你需要設置id才能自動保存,參見這里。
android:scrollX 以像素為單位設置水平方向滾動的的偏移值,在GridView中可看的這個效果。
android:scrollY 以像素為單位設置垂直方向滾動的的偏移值
android: 設置是否始終顯示垂直滾動條。這里用ScrollView、ListView測試均沒有效果。
android: 設置是否始終顯示垂直滾動條。這里用ScrollView、ListView測試均沒有效果。
android: 設置N毫秒後開始淡化,以毫秒為單位。
android:scrollbarFadeDuration 設置滾動條淡出效果(從有到慢慢的變淡直至消失)時間,以毫秒為單位。Android2.2中滾動條滾動完之後會消失,再滾動又會出來,在1.5、1.6版本裡面會一直顯示著。
android:scrollbarSize 設置滾動條的寬度。
android:scrollbarStyle 設置滾動條的風格和位置。設置值:insideOverlay、insideInset、outsideOverlay、outsideInset。這里沒有試出太多效果,以下依次是outsideOverlay與outsideInset效果截圖比較:
android:scrollbarThumbHorizontal 設置水平滾動條的drawable(如顏色)。
android:scrollbarThumbVertical 設置垂直滾動條的drawable(如顏色).
android:scrollbarTrackHorizontal 設置水平滾動條背景(軌跡)的色drawable(如顏色)
android:scrollbarTrackVertical 設置垂直滾動條背景(軌跡)的drawable注意直接設置顏色值如」android:color/white」將得出很難看的效果,甚至都不理解這個屬性了,這里可以參見ApiDemos里res/drawable/ scrollbar_vertical_thumb.xml和scrollbar_vertical_track.xml,設置代碼為:android:scrollbarTrackVertical="@drawable/scrollbar_vertical_track"
android:scrollbars 設置滾動條顯示。none(隱藏),horizontal(水平),vertical(垂直)。見下列代碼演示使用該屬性讓EditText內有滾動條。但是其他容器如LinearLayout設置了但是沒有效果。
android:soundEffectsEnabled 設置點擊或觸摸時是否有聲音效果
android:tag 設置一個文本標簽。可以通過View.getTag()或 for with View.findViewWithTag()檢索含有該標簽字元串的View。但一般最好通過ID來查詢View,因為它的速度更快,並且允許編譯時類型檢查。
android:visibility 設置是否顯示View。設置值:visible(默認值,顯示),invisible(不顯示,但是仍然佔用空間),gone(不顯示,不佔用空間)
G. Android文字圖片無法居中對齊的三個解決方法
在一些項目中會碰到文字和圖片無法居中,即使採用flex或絕對定位(top:-50%, tranform:translateY(50%)仍然無法解決。
這個問題的根本原擾改因在於Android對大部分的非sans-serif字體支持不友好,如Helvetica,導致文字在組件內部(如span,label)就不居中。
文字在組件內部都不居中了,自然在外面怎麼處理都是無法對齊了。
但是sans-serif和helvetica字體的顏色是不一樣的,所以困困可以增加一個透明度opacity為0.8會比較接近helvetica了緩尺判,故最終的方案是
Android瀏覽器下line-height垂直居中為什麼會偏離? - 周祺的回答 - 知乎
H. 在android中如何讓布局居中
兩種方法:
圖形化設計界面中:選中要居中的組件。在右邊的「屬性欄」(前提是你沒有把它隱藏掉)中的Gravity一欄選擇center_vertical或者center_horizontal或者center。分別表示在父布局中垂直居中、水平居中、中心。
xml代碼界面當中:android:layout_gravity="center_vertical或center_horizontal或center"
I. [Android][canvas中drawText繪制文字垂直方向居中]
由於要實現類似注冊表單一樣,文字作用兩端對齊的效果如下圖1,所以才有下面的內容。悄信
在canvas中,調用drawText繪畫文隱運困字的時候,希望能夠在垂直方向居中畫出文字。所以需要測量出要繪畫的文字的高。但具體來說,也不是獲取文字的高,因為如果要垂直居中畫出文字,就必須拿到文字的baseline,於是在網上搜索,找到了一篇關於獲取baseline的文章(文章鏈接在本文底部列出),感覺就是我想要的,但是基於要懷疑一切的態度,不能你說是什麼就是什麼的,實踐才是檢驗真理的唯一標准,所以下面我們來驗證一下幾個觀點。
首先可以明確,5個位置分別是灶念top,ascent,baseline,descent,bottom。這五個位置受字型大小的大小影響是毋庸置疑的,這里不再討論。這里驗證了一下字體對五個位置的影響。字型大小默認是16,字體分別是系統默認,行書,小篆,方正姚體:
這5個位置分別用5條不同顏色的橫線條展示
從效果看,字體對top,ascent,baseline,descent,bottom的位置影響並不明顯。
通過Log列印的日誌可以得出結果
結果:以baseline為基準線,向上為負,向下為正是正確的。
這個不是驗證了,說了那麼多也就是為了如何在垂直方向居中繪制文字,關鍵在於獲取baseline位置。Canvas中的drawText中繪制文字的基準線是baseline。
使得ascent到View的是上邊距與descent到View下邊距距離一致即可,此段距離加上ascent的絕對值(-ascent)即為baseline的位置。
在Canvas中使用drawText繪制垂直居中文字的關鍵在於求出baseline的位置。獲取位置的公式:
https://github.com/lgygg/MeasureHeight
http://blog.csdn.net/su1216/article/details/46900617#