簡體   English   中英

以編程方式在蜂窩狀設備上設置視圖的位置

[英]Programmatically set the position of a view on Pre-Honeycomb devices

我正在嘗試使用以下代碼在Android上以編程方式設置視圖的位置:

LayoutParams layoutParams = new LayoutParams(100, 100);
layoutParams.leftMargin = 200;
layoutParams.topMargin = 200;
myView.setLayoutParams( layoutParams ); 

它可以在我的Nexus 7和Motorola G設備上使用,但不能在Android 2.2下的舊設備上使用。 在這些設備上,視圖始終設置在屏幕的左上角。

我如何在這些設備上做同樣的事情?

這是解決方案。

XML代碼:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id = "@+id/rootView"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</RelativeLayout>

Java代碼:

    View myView = new View(this);
    LayoutParams layoutParams=new LayoutParams(320,240);
    layoutParams.leftMargin = 50;
    layoutParams.topMargin = 60;
    myView.setLayoutParams(layoutParams);
    myView.setBackgroundColor(Color.YELLOW);
    rootView.addView( myView );

    View myView2 = new View(this);
    layoutParams=new LayoutParams(320,240);
    layoutParams.leftMargin = 200;
    layoutParams.topMargin = 120;
    myView2.setLayoutParams(layoutParams);
    myView2.setBackgroundColor(Color.BLUE);
    rootView.addView( myView2 );

而且我們需要導入

import android.widget.RelativeLayout.LayoutParams;

一開始,我使用FrameLayout而不是RelativeLayout。 如果父級布局是FrameLayout,則似乎無法通過Android 2.2以編程方式設置視圖的位置。

非常感謝你的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM