當前位置:首頁 » 安卓系統 » android布局重疊

android布局重疊

發布時間: 2023-04-08 15:31:27

Ⅰ Android中的五種布局方式

分別是:FrameLayout(框架布局),LinearLayout (線性布局),AbsoluteLayout(絕對布局),RelativeLayout(相對布局),TableLayout(表格布局)。

一、FrameLayout:所有東西依次都放在左上角,會重疊,這個布局比較簡單,也只能放一點比較簡單的東西。二、LinearLayout:線性布局,每一個LinearLayout裡面又可分為垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal" )。當垂直布局時,每一行就只有一個元素,多個元素依次垂直往下;水平布局時,只有一行,每一個元素依次向右排列。三、AbsoluteLayout:絕對布局用X,Y坐標來指定元素的位置,這種布局方式也比較簡單,但是在屏幕旋轉時,往往會出問題,而且多個元素的時候,計算比較麻煩。四、RelativeLayout:相對布局可以理解為某一個元素為參照物,來定位的布局方式。主要屬性有:相對於某一個元素android:layout_below、      android:layout_toLeftOf相對於父元素的地方android:layout_alignParentLeft、android:layout_alignParentRigh;五、TableLayout:表格布局,每一個TableLayout裡面有表格行TableRow,TableRow裡面可以具體定義每一個元素。每一個布局都有自己適合的方式,這五個布局元素可以相互嵌套應用,做出美觀的界面。

Ⅱ Android 布局之FrameLayout

1 .FrameLayout簡介

設計FrameLayout是為了顯示單一項widget。通常,不建議使用FrameLayout顯示多項內容;因為它們的布局很難調節。不用layout_gravity屬性的話,多項內容會重疊;使用layout_gravity的話,能設置不同的位置。layout_gravity可以使用如下取值:

top :將對象放在其容器的頂部,不改變其大小.

bottom:將對象放在其容器的底部,不改變其大小.

left:將對象放在其容器的左側,不改變其大小.

right:將對象放在其容器的右側,不改變其大小.

center_vertical:將對象縱仔凳向居中,不改變其大小.

 垂直對齊方式:垂直方向上居中對齊。

fill_vertical:必要的時候增加對象的縱向大小,以完全充滿其容器. 

垂直方向填充

center_horizontal:將對象橫向居中,不改變其大小. 

水平對齊方式:水平方向上居中對齊

fill_horizontal:必要的時候增加對象的橫向大小,以完全充滿其容器. 

水平方向填充:center

將對象橫縱居中,不改變其大小.

fill:必要的時候增加對象的橫縱向大小,以完全充滿其容器.

clip_vertical:附加選項,用於按照容器的邊來剪切對象的頂部和/或底部的內容. 剪切基於其縱向對齊設置:頂部對齊時,剪切底部;底部對齊時剪切頂部;除此之外剪切頂部和底部.

垂直方向裁剪

clip_horizontal

附加選項,用於按照容器的邊來剪切對象的左側和/或右側的內容. 剪切基於其橫向對齊設置:敏純左側對齊時,剪切右側;右側對齊時剪切左側;除此之外剪切左側和右側.

水平方向裁剪

注意: 區分「android:gravity」和「android:layout_gravity」。

android:gravity   :是對控制項本身來說的,是用來設置「控制項自身的內容」應該顯示在「控制項自身體積」的什麼位置,默認值是左側。

android:layout_gravity :是相對於控制項的父元素來說的,設置該控制項在它的父元素的什麼位置

2. FrameLayout示例

創建橋戚咐一個activity,包含2組FrameLayout:1組設置android:layout_gravity屬性,另1組不設置android:layout_gravity屬性。

layout文件

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:orientation="vertical" >

    <!-- 示例1 FrameLayout內容重疊 -->

    <TextView

        android:text="示例1, FrameLayout內容重疊"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        />

    <FrameLayout

        android:layout_width="300dp"

        android:layout_height="80dp" >

        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="我是TextView,內容比較長"

            android:background="#ff0000"/>

        <Button

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:background="#ffff00"

            android:text="我是按鈕"/>

    </FrameLayout>

    <!-- 示例2 FrameLayout使用layout_gravity屬性 -->

    <TextView

        android:text="示例2, 設置layout_gravity"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        />

    <FrameLayout

        android:layout_width="300dp"

        android:layout_height="120dp" >

        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="文本居左"

            android:background="#ff0000"

            android:gravity="center"

            android:layout_gravity="left"

            android:layout_margin="10dp"/>

        <TextView

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="文本居中"

            android:background="#ffff00"

            android:gravity="center"

            android:layout_gravity="center"/>

    </FrameLayout>

</LinearLayout>

Ⅲ 在android開發中為什麼我的所有控制項都跑到屏幕的左上角重疊著

你用的是相羨核對布局,然後每個控制項之間兄游掘並沒有定義他們的相對位置關系,所以他們都重疊在一起。可以設置below ,above等等屬性,磨虧來確定相對位置

Ⅳ 如何讓安卓的控制項重疊在一起

相對布局,兩個組件放到一個相對布局中,然後布局自適應大小,關閉放在父類布局的右上角

Ⅳ android(TextView)控制項重疊問題

首先不太明絕晌世白你的問題啊
你到底想讓textView裡面的並肢內容水平居中,還是讓textView控制項在它的父布局裡水平居中呢?
1. 讓textView裡面的內容謹配水平居中 : android:gravity="center_horizontal"
2. 讓textView控制項在它的父布局裡水平居中 android:layout_gravity="center_horizontal"

Ⅵ android relativelayout 上下布局重疊為什麼下層的控制項會響應

http://blog.csdn.net/morgan_xww/article/details/9372285
Android TouchEvent事件傳遞機制
重疊了,,但是都是一個父容器,,他都傳遞給上面的了,肯定也傳遞給下面的了啊 ,,不能厚此薄彼啊!
你能夠接收到事件 說明父容納埋器沒對事件進行攔截,然後這個事件也沒有被消耗掉
你不想下面的控制項處理這個事盯叢件
你要麼在父容器攔截掉(這樣這個父容器所有子控制項都接收不到觸摸事件了)
要麼你就不要給他設置監聽
要麼你就把他設置為gone或者disable狀態
要麼你復寫你的子控制項觸摸事件洞則螞,,不要處理,直接返回false

推薦使用設置為disable狀態 view.setEnabled(false) 在需要響應的時候設置為true!

Ⅶ android relativelayout 上下布局重疊為什麼下層的控制項會響應

因為攔截方法返回true。

Ⅷ 用eclipse開發android時兩個文本組件總是重疊的,怎麼解決

eclipse開發android時兩個文本組件總是重疊的原因是因為組件的布局重疊在一起。

解決的方式如下:

  1. 查看兩個文本的寬度和高度,是否有重疊的部分,設置成固定的高度。

  2. 使用相對布局,使兩個文本處於相對的位置,這樣就不會重孝姿疊。

android中布局一般使用線性布局和相對布局,想要適配多種手機,建議多使用相譽慎仔對布局,會系統適配慶汪手機尺寸。

Ⅸ Android屏幕變化引起Fragment折疊的解決辦法

奇葩問題年年有,今天又碰到一個,最近呢,在項目開發維護中遇到這樣一個bug,vivo某某型號手機,三指頭同時下滑,瞅瞅效果圖,屏幕露出半個桌面來,而我們的應用布局發生重疊,不得不佩服我們的測試小姐姐,這樣奇葩問題,你都找得到,怎麼辦呢,網路谷歌唄!

這樣子,在當前頁面的Activity中的onCreate方法中輸出日誌,當頁面首次打開的時候有日誌輸出,當三個手指下滑的時候,又有日誌輸出,ok,到這里問題已經明朗,Activity重新創建了,顯然因為生命周期方法重復執行導致它承載的Fragment出現了布局折疊問題。
當手機屏幕變化笑銀培,比如橫豎屏切換,布局變化,屏幕尺寸改變等,在不經過設搏仿置時activity會被重新啟動創建,而且還不止一次,而要防止這碰唯個現象的發生,就需要配置configChanges這個屬性了。

找到了原因,那麼開始實施解決方案。
在AndroidManifest.xml中配置configChanges這個屬性如下

當配置完成後,再次發布程序到手機,日誌不在重復列印,頁面也能夠正常顯示。

這樣配置
android:configChanges="orientation"
那麼橫豎屏切換時就不會重新創建activity,那麼這個屬性到底是什麼意思呢?
首先,要了解Android默認在情況下,在系統的配置改變的情況下會重新創建activity,這個很好理解,因為系統環境變了,當然要重新創建activity來適應這個改變嘍。但是在很多時候我們不想在系統配置改變時重新載入activity,那麼就需要
android:configChanges=「xxx|xxx」這個樣子來搞定了。這里的xxx表這不同的系統配置的改變。
這里的xxx包含了很多種,就像我上邊寫的,可以用|來連接多個值。下面簡單介紹下各個值的不同含義:

喝飽水,閉上嘴,往前走,靠雙腿。

熱點內容
android動畫曲線 發布:2025-07-04 16:16:57 瀏覽:511
擴展存儲器讀寫實驗 發布:2025-07-04 16:14:30 瀏覽:360
如果手機伺服器不行的話怎麼辦 發布:2025-07-04 15:59:31 瀏覽:128
android開發sd卡 發布:2025-07-04 15:50:28 瀏覽:949
離歌腳本 發布:2025-07-04 15:50:13 瀏覽:415
距估計演算法 發布:2025-07-04 15:48:50 瀏覽:814
安卓手機的號碼在哪裡看 發布:2025-07-04 15:36:53 瀏覽:27
蒲公英路由器伺服器端ip 發布:2025-07-04 15:20:30 瀏覽:678
python學習中 發布:2025-07-04 15:20:26 瀏覽:257
linux查看cuda版本 發布:2025-07-04 15:15:49 瀏覽:44