首頁(yè) 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場(chǎng)

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計(jì)算器

綜合交流 / 評(píng)測(cè) / 活動(dòng)區(qū)

交流區(qū) | 測(cè)硬件 | 網(wǎng)站活動(dòng) | Z幣中心

新手入門(mén) / 進(jìn)階 / 社區(qū)互助

新手 | 你問(wèn)我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 13468|回復(fù): 0
上一主題 下一主題
[教程]

主流UI設(shè)計(jì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2013-8-28 16:27 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
24   
這篇文章主要說(shuō)的是android中的UI設(shè)定。先看真題效果圖,說(shuō)明。本程序參考新浪微博,圖片為貓撲圖片。
程序只有最基本的模版,沒(méi)有任何內(nèi)容。
  
點(diǎn)擊效果圖
  
這布局為頂部+中間內(nèi)容+底部模式,現(xiàn)在很多布局都采用這種模式?;蛘呔艑m圖布局
1:首先我們先實(shí)現(xiàn)頂部,代碼如下:
  
   
<FrameLayout   
        
xmlns:android="http://schemas.android.com/apk/res/android"   
        android:id
="@+id/main_tab_banner"   
        android:layout_width
="fill_parent"   
        android:layout_height
="wrap_content"   
        android:background
="@drawable/bg_title"   
        android:paddingLeft
="10dip"   
        android:paddingRight
="10dip">   
   
        <TextView   
            
android:id="@+id/textView1"   
            android:layout_width
="wrap_content"   
            android:layout_height
="wrap_content"   
            android:layout_gravity
="left|center_vertical"   
            android:padding
="8dip"   
            android:text
="返回"/>   
   
        <TextView   
            
android:layout_width="wrap_content"   
            android:layout_height
="wrap_content"   
            android:layout_gravity
="center"   
            android:text
="標(biāo)題內(nèi)容"   
            android:textColor
="#000000"   
            android:textSize
="18dip"/>   
   
        <TextView   
            
android:id="@+id/textView1"   
            android:layout_width
="wrap_content"   
            android:layout_height
="wrap_content"   
            android:layout_gravity
="right|center_vertical"   
            android:padding
="8dip"   
            android:text
="前進(jìn)"/>   
    </FrameLayout>   
   
   
這里的TextView可以用一張圖片或者一個(gè)按鈕代替,看個(gè)人需要。
2:實(shí)現(xiàn)底部。底部采用TabHost,效果圖:
  
代碼如下:
   
<LinearLayout   
        
android:id="@+id/main_tab"   
        android:layout_width
="fill_parent"   
        android:layout_height
="wrap_content"   
        android:layout_alignParentBOTTom
="true"   
        android:background
="@drawable/bg_foot"   
        android:gravity
="center"   
        android:orientation
="horizontal">   
   
        <TabHost   
            
xmlns:android="http://schemas.android.com/apk/res/android"   
            android:id
="@+id/main_tab2"   
            android:layout_width
="fill_parent"   
            android:layout_height
="fill_parent">   
   
            <LinearLayout   
               
android:layout_width="fill_parent"   
                android:layout_height
="fill_parent"   
                android:orientation
="vertical">   
   
                <FrameLayout   
                    
android:id="@android:id/tabcontent"   
                    android:layout_width
="fill_parent"   
                    android:layout_height
="0.0dip"   
                    android:layout_weight
="1.0"/>   
   
                <TabWidget   
                    
android:id="@android:id/tabs"   
                    android:layout_width
="fill_parent"   
                    android:layout_height
="wrap_content"   
                    android:layout_weight
="0.0"   
                    android:visibility
="gone"/>   
   
                <RadioGroup   
                    
android:layout_width="fill_parent"   
                    android:layout_height
="wrap_content"   
                    android:layout_gravity
="bottom"   
                    android:background
="@drawable/bg_footbar"   
                    android:gravity
="center_vertical"   
                    android:orientation
="horizontal">   
   
                    <RadioButton   
                        
android:id="@+id/radio_button1"   
                        style
="@style/tab_style"   
                        android:layout_marginTop
="2.0dip"   
                        android:drawableTop
="@drawable/ico_zy01"   
                        android:text
="主頁(yè)"/>   
   
                    <RadioButton   
                        
android:id="@+id/radio_button2"   
                        style
="@style/tab_style"   
                        android:layout_marginTop
="2.0dip"   
                        android:drawableTop
="@drawable/ico_dp01"   
                        android:text
="地盤(pán)"/>   
   
                    <RadioButton   
                        
android:id="@+id/radio_button3"   
                        style
="@style/tab_style"   
                        android:layout_marginTop
="2.0dip"   
                        android:drawableTop
="@drawable/ico_tt01"   
                        android:text
="貼帖"/>   
   
                    <RadioButton   
                        
android:id="@+id/radio_button4"   
                        style
="@style/tab_style"   
                        android:layout_marginTop
="2.0dip"   
                        android:drawableTop
="@drawable/ico_gd01"   
                        android:text
="更多"/>   
                </RadioGroup>   
            </LinearLayout>   
        </TabHost>   
    </LinearLayout>   
   
   
底部有很多做法,這里只是純模版。
3:把頂部和底部加起來(lái)。
   
<LinearLayout   
        
android:id="@+id/main_tab_container"   
        android:layout_width
="fill_parent"   
        android:layout_height
="fill_parent"   
        android:layout_above
="@id/main_tab"   
        android:layout_below
="@id/main_tab_banner"   
        android:background
="#FFFFE0">   
   
        <TextView   
            
android:id="@+id/textView1"   
            android:layout_width
="wrap_content"   
            android:layout_height
="wrap_content"   
            android:padding
="30dip"   
            android:text
="中間內(nèi)容"/>   
    </LinearLayout>   
   
最后我們的整體代碼就出來(lái)了。
   
<?xml version="1.0" encoding="utf-8"?>   
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"   
    android:layout_width
="fill_parent"   
    android:layout_height
="fill_parent"   
    android:orientation
="vertical">   
   
    <FrameLayout   
        
xmlns:android="http://schemas.android.com/apk/res/android"   
        android:id
="@+id/main_tab_banner"   
        android:layout_width
="fill_parent"   
        android:layout_height
="wrap_content"   
        android:background
="@drawable/bg_title"   
        android:paddingLeft
="10dip"   
        android:paddingRight
="10dip">   
   
        <TextView   
            
android:id="@+id/textView1"   
            android:layout_width
="wrap_content"   
            android:layout_height
="wrap_content"   
            android:layout_gravity
="left|center_vertical"   
            android:padding
="8dip"   
            android:text
="返回"/>   
   
        <TextView   
            
android:layout_width="wrap_content"   
            android:layout_height
="wrap_content"   
            android:layout_gravity
="center"   
            android:text
="標(biāo)題內(nèi)容"   
            android:textColor
="#000000"   
            android:textSize
="18dip"/>   
   
        <TextView   
            
android:id="@+id/textView1"   
            android:layout_width
="wrap_content"   
            android:layout_height
="wrap_content"   
            android:layout_gravity
="right|center_vertical"   
            android:padding
="8dip"   
            android:text
="前進(jìn)"/>   
    </FrameLayout>   
   
    <LinearLayout   
        
android:id="@+id/main_tab"   
        android:layout_width
="fill_parent"   
        android:layout_height
="wrap_content"   
        android:layout_alignParentBottom
="true"   
        android:background
="@drawable/bg_foot"   
        android:gravity
="center"   
        android:orientation
="horizontal">   
   
        <TabHost   
            
xmlns:android="http://schemas.android.com/apk/res/android"   
            android:id
="@+id/main_tab2"   
            android:layout_width
="fill_parent"   
            android:layout_height
="fill_parent">   
   
            <LinearLayout   
               
android:layout_width="fill_parent"   
                android:layout_height
="fill_parent"   
                android:orientation
="vertical">   
   
                <FrameLayout   
                    
android:id="@android:id/tabcontent"   
                    android:layout_width
="fill_parent"   
                    android:layout_height
="0.0dip"   
                    android:layout_weight
="1.0"/>   
   
                <TabWidget   
                    
android:id="@android:id/tabs"   
                    android:layout_width
="fill_parent"   
                    android:layout_height
="wrap_content"   
                    android:layout_weight
="0.0"   
                    android:visibility
="gone"/>   
   
                <RadioGroup   
                    
android:layout_width="fill_parent"   
                    android:layout_height
="wrap_content"   
                    android:layout_gravity
="bottom"   
                    android:background
="@drawable/bg_footbar"   
                    android:gravity
="center_vertical"   
                    android:orientation
="horizontal">   
   
                    <RadioButton   
                        
android:id="@+id/radio_button1"   
                        style
="@style/tab_style"   
                        android:layout_marginTop
="2.0dip"   
                        android:drawableTop
="@drawable/ico_zy01"   
                        android:text
="主頁(yè)"/>   
   
                    <RadioButton   
                        
android:id="@+id/radio_button2"   
                        style
="@style/tab_style"   
                        android:layout_marginTop
="2.0dip"   
                        android:drawableTop
="@drawable/ico_dp01"   
                        android:text
="地盤(pán)"/>   
   
                    <RadioButton   
                        
android:id="@+id/radio_button3"   
                        style
="@style/tab_style"   
                        android:layout_marginTop
="2.0dip"   
                        android:drawableTop
="@drawable/ico_tt01"   
                        android:text
="貼帖"/>   
   
                    <RadioButton   
                        
android:id="@+id/radio_button4"   
                        style
="@style/tab_style"   
                        android:layout_marginTop
="2.0dip"   
                        android:drawableTop
="@drawable/ico_gd01"   
                        android:text
="更多"/>   
                </RadioGroup>   
            </LinearLayout>   
        </TabHost>   
    </LinearLayout>   
   
    <LinearLayout   
        
android:id="@+id/main_tab_container"   
        android:layout_width
="fill_parent"   
        android:layout_height
="fill_parent"   
        android:layout_above
="@id/main_tab"   
        android:layout_below
="@id/main_tab_banner"   
        android:background
="#FFFFE0">   
   
        <TextView   
            
android:id="@+id/textView1"   
            android:layout_width
="wrap_content"   
            android:layout_height
="wrap_content"   
            android:padding
="30dip"   
            android:text
="中間內(nèi)容"/>   
    </LinearLayout>   
   
</RelativeLayout>   
   
styles.xml文件代碼
   
<?xml version="1.0" encoding="UTF-8"?>   
<resources>   
      
    <style name="tab_style">   
        <item name="android:textSize">9.0dip</item>   
        <item name="android:ellipsize">middle</item>   
        <item name="android:gravity">center</item>   
        <item name="android:background">@drawable/radio_bg</item>   
        <item name="android:layout_width">fill_parent</item>   
        <item name="android:layout_height">wrap_content</item>   
        <item name="android:layout_margin">2.0dip</item>   
        <item name="android:button">@null</item>   
        <item name="android:singleLine">true</item>   
        <item name="android:layout_weight">1.0</item>   
    </style>   
      
</resources>   
   
radio_bg.xml代碼
   
<?xml version="1.0" encoding="UTF-8"?>   
<selector   
  
xmlns:android="http://schemas.android.com/apk/res/android">   
    <item android:state_focused="true" android:state_enabled="true" android:drawable="@drawable/home_btn_bg_s"/>   
    <item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/home_btn_bg_s"/>   
    <item android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/home_btn_bg_d"/>   
      
</selector>   
   
源碼下載http://115.com/file/bhqy968K# Test.7z.建議用400*800分辨率測(cè)試
原文地址:小左程序 http://xzuo.cnblogs.com/</font

上一篇:第三十六講:Android手機(jī)攝像頭編程入門(mén)
下一篇:如何單獨(dú)編譯Android源代碼中的模塊

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號(hào) )

網(wǎng)絡(luò)信息服務(wù)信用承諾書(shū) | 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號(hào)

GMT+8, 2024-12-23 02:58 , Processed in 0.071701 second(s), 14 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報(bào):report#znds.com (請(qǐng)將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表