android控制項位置
1. android中textview控制項中的文字的位置是如何調整
有2種方法可以設置TextView文字居中:
一:在xml文件設置:android:gravity="center"
二:在程序中設置:m_TxtTitle.setGravity(Gravity.CENTER);
備註:android:gravity和android:layout_gravity的區別在於前者對控制項內部操作,後者是對整個控制項操作。
例如:
android:gravity="center"是對textView中文字居中
android:layout_gravity="center"是對textview控制項在整個布局中居中
其實很容易理解,出現"layout"就是控制項對整個布局的操作
TextView文字垂直靠左居中,
設置android:gravity="center_vertical|left"。
android:gravity="center", 垂直水平居中
LinearLayout有兩個非常相似的屬性:android:gravity與android:layout_gravity。他們的區別在於:android:gravity用於設置View組件的對齊方式,而android:layout_gravity用於設置Container組件的對齊方式。
舉個例子,我們可以通過設置android:gravity="center"來讓EditText中的文字在EditText組件中居中顯示;同時我們設置EditText的android:layout_gravity="right"來讓EditText組件在LinearLayout中居中顯示。
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="40sp"
android:gravity="center_vertical|left"
android:text="@string/hello_world" />
2. 怎麼獲取控制項在屏幕上的位置android
getLocationOnScreen ,計算該視圖在全局坐標系中的x,y值,(注意這個值是要從屏幕頂端算起,也就是索包括了通知欄的高度)//獲取在當前屏幕內的絕對坐標
getLocationInWindow ,計算該視圖在它所在的widnow的坐標x,y值,//獲取在整個窗口內的絕對坐標 (不是很理解= =、)
getLeft , getTop, getBottom, getRight, 這一組是獲取相對在它父親里的坐標
如果在Activity的OnCreate()事件輸出那些參數,是全為0,要等UI控制項都載入完了才能獲取到這些。
import android.widget.ImageView;
public class LocationActivity extends Activity {
/** Called when the activity is first created. */
private ImageView t = null;
private Button button = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
t = (ImageView)findViewById(R.id.l);
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new buttonListener());
}
public class buttonListener implements OnClickListener{
public void onClick(View v)
{
int[] location = new int[2];
t.getLocationOnScreen(location);
int x = location[0];
int y = location[1];
System.out.println("x:"+x+"y:"+y);
System.out.println("圖片各個角Left:"+t.getLeft()+"Right:"+t.getRight()+"Top:"+t.getTop()+"Bottom:"+t.getBottom());
}
}
}
<?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" >
<Button
android:id="@+id/button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="button"/>
<ImageView
android:id="@+id/l"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/a" />
</LinearLayout>
3. android動態添加控制項,怎樣指定位置
首先你得定義一個 LayoutParams:
RelativeLayout.LayoutParams s = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
s.addRule(RelativeLayout.CENTER_IN_PARENT, -1);
//添加位置信息 -1表示相對於父控制項的位置 ,如果要相對某個平級控制項則參數是該控制項的ID
s.setMargins(10, 10, 10, 10);//設置左,上,右,下,的距離
上面的定義好了之後可以用了:
imgApple2.setLayoutParams(s);
insertLayout.addView(imgApple2,100,100);
4. android listview 控制項在什麼位置
android listview,在eclipse或者android studio在代碼編輯窗口,輸入listview,ctrl+滑鼠左鍵點擊,如果導入了源代碼,就可以查看具體的代碼位置,主要是用來展示一條條的數據的。
5. Android控制項位置設定
想法有問題,自己實現沒有必要也麻煩。
使用樓上說的相對布局即可,就是為了方便你的這種需求而定義的布局類。默認就是從左上角開始布局。
6. 如何讓安卓控制項向左移動
Android控制項位置都是自己設置的。
如果要控制項放到任意位置,建議用RelativeLayout(相對布局)
然後給控制項添加屬性,把控制項放到想要的位置
下面是相對布局中 控制項能用到的屬性。
屬性值為true可false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相對於父元素完全居中
android:layout_alignParentBottom 貼緊父元素的下邊緣
android:layout_alignParentLeft 貼緊父元素的左邊緣
android:layout_alignParentRight 貼緊父元素的右邊緣
android:layout_alignParentTop 貼緊父元素的上邊緣
屬性值必須為id的引用名
android:layout_below 在某元素的下方
android:layout_above 在某元素的上方
android:layout_toLeftOf 在某元素的左邊
android:layout_toRightOf 在某元素的右邊
android:layout_alignTop 本元素的上邊緣和某元素的上邊緣對齊
android:layout_alignLeft 本元素的左邊緣和某元素的左邊緣對齊
android:layout_alignBottom 本元素的下邊緣和某元素下邊緣對齊
android:layout_alignRight 本元素的右邊緣和某元素右邊緣對齊
屬性值為具體的像素值班,如30dp
android:layout_marginBottom 離某元素底邊緣的距離
android:layout_marginLeft 離某元素左邊緣的的距離
android:layout_marginRight 離某元素的右邊緣的距離
android:layout_marginTop 離某元素上邊緣的距離
7. android怎麼把控制項放在屏幕最下面
Android控制項放屏幕最下面有兩種方式:
使用android:layout_height="match_parent"將控制項設置為占滿屏幕。
使用RelativeLayout包括控制項,控制項中增加android:layout_alignParentBottom="true" 表示放在父控制項的最下方。
使用android:layout_gravity="bottom" 指定當前控制項的位置為bottom即可。
8. android中獲得控制項的位置(相對於布局文件)
正確的代碼如下所示
java">TextViewtv=(TextView)findViewById(R.id.text);
tv.getViewTreeObserver().addOnGlobalLayoutListener(newOnGlobalLayoutListener(){
@Override
publicvoidonGlobalLayout(){
//這里執行獲取位置大小操作
intleft=tv.getLeft();
inttop=tv.getTop();
intbottom=tv.getBottom();
intright=tv.getRight();
//tv相對於父布局的坐標就得出來了
}
}
view的位置和大小是通過onLayout和onMeasure方法計算出來的,執行到activity的onCreate()方法時,尚未開始計算控制項的大小和位置,所以是取不到的
OnGlobalLayoutListener 是ViewTreeObserver的內部類,當一個視圖樹的布局發生改變時,可以被ViewTreeObserver監聽到,這是一個注冊監聽視圖樹的觀察者(observer),在視圖樹的全局事件改變時得到通知
除了OnGlobalLayoutListener ,ViewTreeObserver還有如下內部類:
interfaceViewTreeObserver.OnGlobalFocusChangeListener
當在一個視圖樹中的焦點狀態發生改變時,所要調用的回調函數的介面類
interfaceViewTreeObserver.OnGlobalLayoutListener
當在一個視圖樹中全局布局發生改變或者視圖樹中的某個視圖的可視狀態發生改變時,所要調用的回調函數的介面類
interfaceViewTreeObserver.OnPreDrawListener
當一個視圖樹將要繪制時,所要調用的回調函數的介面類
interfaceViewTreeObserver.OnScrollChangedListener
當一個視圖樹中的一些組件發生滾動時,所要調用的回調函數的介面類
interfaceViewTreeObserver.OnTouchModeChangeListener
當一個視圖樹的觸摸模式發生改變時,所要調用的回調函數的介面類
9. 怎麼把android控制項置底
Android控制項置底的方法:
10. android 控制項移動方法
Android控制項位置都是自己設置的。
如果要控制項放到任意位置,建議用RelativeLayout(相對布局)
然後給控制項添加屬性,把控制項放到想要的位置
下面是相對布局中 控制項能用到的屬性。
屬性值為true可false
android:layout_centerHrizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相對於父元素完全居中
android:layout_alignParentBottom 貼緊父元素的下邊緣
android:layout_alignParentLeft 貼緊父元素的左邊緣
android:layout_alignParentRight 貼緊父元素的右邊緣
android:layout_alignParentTop 貼緊父元素的上邊緣
屬性值必須為id的引用名
android:layout_below 在某元素的下方
android:layout_above 在某元素的上方
android:layout_toLeftOf 在某元素的左邊
android:layout_toRightOf 在某元素的右邊
android:layout_alignTop 本元素的上邊緣和某元素的上邊緣對齊
android:layout_alignLeft 本元素的左邊緣和某元素的左邊緣對齊
android:layout_alignBottom 本元素的下邊緣和某元素下邊緣對齊
android:layout_alignRight 本元素的右邊緣和某元素右邊緣對齊
屬性值為具體的像素值班,如30dp
android:layout_marginBottom 離某元素底邊緣的距離
android:layout_marginLeft 離某元素左邊緣的的距離
android:layout_marginRight 離某元素的右邊緣的距離
android:layout_marginTop 離某元素上邊緣的距離