自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

解析Android中如何布局定位Widget控件

移動開發(fā)
Android中如何布局定位Widget控件是本文要介紹的內(nèi)容,主要是來了解并學習Android Widget控件的應(yīng)用,具體內(nèi)容的實現(xiàn)來看本文詳解。

Android中如何布局定位Widget控件是本文要介紹的內(nèi)容,主要是來了解并學習Android Widget控件的應(yīng)用,具體內(nèi)容的實現(xiàn)來看本文詳解。

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3.  android:orientation="vertical" android:layout_width="fill_parent" android:id="@+id/laymain" 
  4.  android:layout_height="fill_parent"> 
  5.   <TextView android:layout_width="fill_parent" android:id="@+id/id_hello" 
  6.   android:layout_height="wrap_content" android:text="@string/hello" /> 
  7. </LinearLayout> 

然后我想在水平坐標居中, 縱坐標為手機屏幕 3 /5 的位置顯示這個LinearLayout里的TextView, 有什么比較

簡單的方法呢? 

做過網(wǎng)頁的朋友一定很想利用MarginLeft, MarginTop屬性了, 沒錯! 獲取TextView的MarginLayoutParams是關(guān)鍵!

貼出代碼:

  1. package com.dengsi.android;  
  2.  
  3. import android.app.Activity;  
  4. import android.graphics.Paint;  
  5. import android.os.Bundle;  
  6. import android.view.Display;  
  7. import android.view.ViewGroup;  
  8. import android.view.ViewGroup.MarginLayoutParams;  
  9. import android.widget.LinearLayout;  
  10. import android.widget.ScrollView;  
  11. import android.widget.TextView;  
  12. import android.widget.LinearLayout.LayoutParams;  
  13.  
  14. public class fixposition extends Activity {  
  15.  private LinearLayout laymain = null;  
  16.  private TextView textview_ = null;  
  17.  int sWidth_ = 0;  
  18.  int sHeight = 0;  
  19.  Paint fontPaint_ = null;  
  20.  
  21.  /** Called when the activity is first created. */  
  22.  @Override  
  23.  public void onCreate(Bundle savedInstanceState) {  
  24.   super.onCreate(savedInstanceState);  
  25.   setContentView(R.layout.main);  
  26.   textview_ = (TextView) findViewById(R.id.id_hello);  
  27.   laymain = (LinearLayout)findViewById(R.id.laymain);  
  28.     
  29.   TextView spaceTV = new TextView(this);  
  30.  
  31.   fontPaint_ = new Paint();  
  32.   Display disp_ = this.getWindowManager().getDefaultDisplay();  
  33.   sWidth_ = disp_.getWidth();  
  34.   sHeight = disp_.getHeight();  
  35.     
  36.   // TODO Auto-generated method stub  
  37.   int toY = (sHeight * 3) / 5;  
  38.   int toX = (sWidth_ - (int) fontPaint_.measureText(textview_.getText()  
  39.     .toString())) >> 1;  
  40.   System.out.println("x = " + toX + "y = " + toY);  
  41.     
  42.   laymain.addView(spaceTV, 0);  
  43.   spaceTV.setLayoutParams(new LinearLayout.LayoutParams(0, toY));  
  44.     
  45.   ViewGroup.MarginLayoutParams mlp = (MarginLayoutParams) textview_.getLayoutParams();  
  46.   mlp.leftMargin = toX;  
  47.   textview_.setLayoutParams(mlp);  
  48.   textview_.requestLayout();  
  49.   textview_.invalidate();  
  50.     
  51.   laymain.invalidate();  
  52.  }  

模擬器顯示效果如圖(然后可以把這個放在歡迎畫面, 繼續(xù)做滾動字幕等擴展, 我這里沒有用onDraw方法):

小結(jié):解析Android中如何布局定位Widget控件的內(nèi)容介紹完了,希望通過本文的學習能Android Widget控件內(nèi)容的學習能對你有所幫助,

責任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-07-13 09:08:27

Widget開發(fā)

2011-09-07 13:30:48

Android WidTabWidget

2011-09-07 14:01:41

Android Wid實例

2011-09-09 10:00:20

Android Wid開發(fā)

2011-09-07 17:54:40

Android Wid開發(fā)

2011-09-07 14:39:47

Android Wid設(shè)計

2011-09-08 15:40:45

Android Wid組件

2011-09-07 14:25:53

Android Wid設(shè)計

2010-09-13 13:12:57

CSS定位

2010-04-23 11:21:05

Widget開發(fā)

2011-09-09 17:59:26

QT Widget

2011-09-07 14:55:28

Android WidAppWidget事件

2011-09-08 16:17:45

Widget

2011-09-08 14:21:37

jQueryWidget

2011-09-09 19:23:52

Widget

2010-09-14 16:57:29

DIV絕對定位CSS

2011-09-09 13:23:17

Widget

2011-09-08 14:05:19

WidgetFlexViewer

2011-04-07 08:59:47

Android交互設(shè)計

2011-09-07 14:20:42

Android Wid組件
點贊
收藏

51CTO技術(shù)棧公眾號