2013-05-18 200 views
1

我正在開發一個實現簡單指南針的應用程序。設置內容視圖層次結構

我在擴展ImageView的類(Rose.java)中創建和操作指南針本身。

在我的主要活動我想玫瑰對象添加到佈局,我有這樣的代碼

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); 
    sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION); 

    rose = new Rose (this); 


    setContentView(rose); 
    } 

的事情是,你也知道,通過使用的setContentView的「玫瑰」將是全屏和佈局的其他元素將不會顯示。

我特別要求一個替代方法,將玫瑰對象添加到佈局而不忽略其其他元素。

在此先感謝。

回答

1

你可以在xml中分配LinearLayout的寬度和高度。

在xml文件中定義一個LinearLayout,並定義您選擇的寬度和高度。將佈局放在你喜歡的地方。自定義視圖的內容添加到的LinearLayout

setContentView(R.id.activity_main); 
    LinearLayout ll = (LinearLayout) findViewById(R.id.linearlayout); 
    rose = new Rose(this); 
    ll.addView(rose); 

例子:

actiivty_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
> 
    // Other views like textview's and button above linear layout 

    <LinearLayout 
     android:layout_width="40dp" // mention the width of you choice 
     android:layout_height="40dp" // // mention the height of you choice 
     android:layout_above="@+id/button1" 
     android:layout_alignParentRight="true" 
     android:id="@+id/linearlayout" 
     > 
    </LinearLayout> 
     // other views below linear layout 
</RelativeLayout> 
+0

感謝,它的工作! – Mike

+0

@mike很高興幫助。請點擊勾號接受答案。這將有助於其他訪問該帖子的人。 – Raghunandan