我正在开发一个实现简单指南针的应用程序。
我在扩展ImageView的类(Rose.java)中创建和操作指南针。
在我的主要活动中,我想将rose对象添加到布局中,我有这个代码
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," rose"将是全屏,布局的其余元素不会显示。
我特意要求一个替代方法,将玫瑰对象添加到布局中而不忽略其余元素。
提前致谢。
答案 0 :(得分: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>