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."> 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.">

Presentation is loading. Please wait.

Presentation is loading. Please wait.

GUI Programming Fundamentals

Similar presentations


Presentation on theme: "GUI Programming Fundamentals"— Presentation transcript:

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.


Download ppt "GUI Programming Fundamentals"

Similar presentations


Ads by Google