Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android開發中如何實現自定義的布局?

Android開發中如何實現自定義的布局?

編輯:Android開發實例

  Android開發中常見到的Tabhost中Tabwidget的布局是圖標在上,文字在下的垂直布局,例如通訊錄的布局。
  這種布局在手機上的豎屏上用得最多,但在橫屏則顯得水平分布得不夠緊湊。

  如何實現自定義的布局呢?
  首先要理解Tabwidget.
  TabWidget理解:
  1.TabWidget為horizontal的LinearLayout
  2.且其包含的標簽又是一個RelativeLayout
  3.每個標簽RelativeLayout裡面包含2個View:TextViewImageView
  有了這個理解,可以估計得到下段代碼:
  <?xmlversion="1.0"encoding="utf-8"?>
  <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="horizontal"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
  <RelativeLayout
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content">
  <ImageView/>
  <TextView/>
  </RelativeLayout>
  <RelativeLayout
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content">
  <ImageView/>
  <TextView/>
  </RelativeLayout>
  ...多個RelativeLayout
  </LinearLayout>
  有了這個布局,就可以自定義自己的布局了,以圖片在左,文字在右為例。
  privatevoidaddToTabHost(Stringname,intimage,intnumber){
  //TODOAuto-generatedmethodstub
  LinearLayoutll=(LinearLayout)mTabHost.getChildAt(0);
  TabWidgettw=(TabWidget)ll.getChildAt(0);
  RelativeLayoutrl=(RelativeLayout)tw.getChildAt(number);
  rl.addView(composeLayout(name,image),newLinearLayout.LayoutParams(
  LinearLayout.LayoutParams.FILL_PARENT,
  LinearLayout.LayoutParams.FILL_PARENT));
  }
  privateViewcomposeLayout(Stringname,intimage){
  LinearLayoutlayout=newLinearLayout(this);
  layout.setGravity(Gravity.CENTER);
  layout.setOrientation(LinearLayout.HORIZONTAL);
  ImageViewiv=newImageView(this);
  iv.setImageResource(image);
  layout.addView(iv,newLinearLayout.LayoutParams(
  LinearLayout.LayoutParams.WRAP_CONTENT,
  LinearLayout.LayoutParams.FILL_PARENT));
  TextViewtv=newTextView(this);
  tv.setGravity(Gravity.CENTER);
  tv.setSingleLine(true);
  tv.setPadding(10,0,0,0);
  tv.setTextSize(18);
  tv.setText(name);
  layout.addView(tv,newLinearLayout.LayoutParams(
  LinearLayout.LayoutParams.WRAP_CONTENT,
  LinearLayout.LayoutParams.FILL_PARENT));
  returnlayout;
  }
  這樣就實現了圖片在左,文字在右的布局。
  效果圖 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved