package com.seetsoft.test; public final class R { public static final class attr { } public static final class dimen { /** Default screen margins, per the Android Design guidelines. Customize dimensions originally defined in res/values/dimens.xml (such as screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here. */ public static final int activity_horizontal_margin=0x7f040000; public static final int activity_vertical_margin=0x7f040001; public static final class drawable { public static final int ic_launcher=0x7f020000; public static final class id { public static final int action_settings=0x7f080005; public static final int down=0x7f080002; public static final int left=0x7f080003; public static final int msg=0x7f080000; public static final int right=0x7f080004; public static final int up=0x7f080001; public static final class layout { public static final int activity_main=0x7f030000; public static final class menu { public static final int main=0x7f070000; At Build Time, the SDK creates a class that assigns integers to each element.">
Download presentation
Presentation is loading. Please wait.
1
GUI Programming Fundamentals
2
<LinearLayout xmlns:android="http://schemas. android
xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button > </Button> </LinearLayout> package com.seetsoft.test; public final class R { public static final class attr { } public static final class dimen { /** Default screen margins, per the Android Design guidelines. Customize dimensions originally defined in res/values/dimens.xml (such as screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here. */ public static final int activity_horizontal_margin=0x7f040000; public static final int activity_vertical_margin=0x7f040001; public static final class drawable { public static final int ic_launcher=0x7f020000; public static final class id { public static final int action_settings=0x7f080005; public static final int down=0x7f080002; public static final int left=0x7f080003; public static final int msg=0x7f080000; public static final int right=0x7f080004; public static final int up=0x7f080001; public static final class layout { public static final int activity_main=0x7f030000; public static final class menu { public static final int main=0x7f070000; At Build Time, the SDK creates a class that assigns integers to each element.
3
setContentView(R.layout.activity_main);
<LinearLayout xmlns:android=" xmlns:tools=" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button > </Button> </LinearLayout> protected void onCreate(Bundle savedInstanceState) { // etc setContentView(R.layout.activity_main); } At Run Time, Activity: setContentView(…) Fragment: View v = inflater.inflate(R.layout.pix_frag_layout, container, false); causes the XML layout file to be parsed GUI objects to be created (inflated)
4
At Run Time, we access the inflated objects via the Resource class R.
public class MainActivity extends Activity implements OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button downButton = (Button)findViewById(R.id.down); downButton.setOnClickListener(new OnClickListener(){ public void onClick(View view){ } }); public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true;
5
Programming Considerations:
We cannot access GUI elements programmatically before they have been rendered. An attempt to do so will typically result in a null pointer exception. We can, however, always access the Resource class R. The id values are created independently of the state of their existence.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.