I have got a problem here in designing layout of S40 FT.
Consider the following work flow...
I have a form in which i can set the layout of the form as shown below
GridLayout layout = new GridLayout(5,1);
form.setLayout(layout);
Is there a way i can add another layout ie nested in the previous layout... Something like the following...
form.addContainer(layout[1,1] , new FlowLayout());
I want to add layout within a layout. It would be easy to manage my UI that way.
yes you can.
ex:
Form form = new Form();
Container container = new Container();
form.addComponent(container);
Form and Container can have different layout.
Related
I am trying to create one application in which I have one form and table. I tried to use grid but then if I drag the application window then the labels are going to the next line and cutting. If I use stack layout then labels are not rearranged in that case also the labels are not visible so is there anything else which I can use ? Here address and name are in stack layout , and subject is in grid layout
How can I create a custom view with a custom style? I have many TextView's in my layout and its kind of difficult to manage all of them. I want to group them in a custom view with custom look (a box with rounded corners) and in my code just give the values to the custom view code to handle it itself.
What I am looking after is something like:
Can someone plesae tell me the steps to create such custom view with rounded box and few TextView's inside it?
Two approaches:
You can create a layout for your view. You need to take different layout widgets like textviews etc. and assign them values.
You can use canvas to draw such view.
The proper way is to inherit from View. Either programatically or in designer You assign any layout to this view. To the layout You assign Your elements ( TextViews, whatever ).
Create methods in the derived View class which fill the inner elements, something like getters/setters, like properties in c#. Those are public.
Then place Your custom compound control onto Your main view.
I for myself created a column orientated tablecontrol with custom scrollbar this way ( but pure via code ) and it works very well. Ah, and additionally You can draw shapes on Your derived view, which allow You relatively simple to apply round corners, and even color transitions.
I'm assuming you're using eclipse to create your android project.
Go to your src file and create a new layout (relative layout works best here). There is a visual representation of the layout you're creating so you should be able to play around with it. Drag and drop the textviews where you want them and give them unique names. Then in your java code, call the textviews like:
TextView text = (TextView) findViewById(R.id.textview_name_here);
text.setText("Your Text Here");
There are plenty of examples online.
In J2ME I am Using LWUIT library.
My problem is I want to add various component on single Form using different layout or Container. I am looking for some code or example.
Example..
add Header image on top of the Form.
Adding two label, two textfield on
one Container/layout and Two button
on another Container/layout. Design
like Login Form.
add Footer image on bottom of the
Form.
Set the title image of the form for showing header image. Set the softbutton image of the form for showing footer image.
Normally you can use the border layout or box layout for both container and form. See the LWUITDemo application on LWUIT repository. It will helps you. Also see the same sample examples,
The Lightweight User Interface Toolkit (LWUIT): An Introduction
Using LWUIT layouts
use different container with different layout to add in form
i.e set form to Borderlayout add title container to north and footer container to south
next use another container with your required layout and add it to center in form, thus create container hierarchy
For samples on how to arrange components in various layouts you can look within the LWUIT 1.5 distribution and on demos such as the LWUITDemo which has a layouts demo within it. Keep in mind that layouts can be nested.
The LWUIT blog which I maintain contains lots of samples of layout usage.
This sounds like a pretty simple thing to do but I havent been able to find an easy way to do this. How do I create a panel with a title and a border which can contain my widgets? I have seen the SectionStack class which provides this. But I dont want to create a section stack.
Window can be added to a layout and drawn. But is it the only way or is there a container class that I am missing?
Also, how does one center things? Say a textfield and a button at the center of the page. How is this achieved?
If you are using a DynamicForm, you can give it a border and title with
form.setIsGroup(true);
form.setGroupTitle(title);
This actually works for Canvas, too (which is the superclass of most widgets and layouts in SmartGWT).
(I just had the same problem, and found this question, as well as the thread Is there a "titled Border" on the SmartGWT Forums, which gave this answer. I tried and it seems to work.)
To do form-related tasks, look into DynamicForm. To set the inputs in the form, you use setItems(Item...). A text field is a TextItem. You set it's title to control the label that SmartGWT will build. To get a title for the form, the best I've come up with is to use a container canvas that will contain both the title (probably a Label element) and the DynamicForm. To center the inputs, I believe you'd need to use setAlignment on the DynamicForm.
You could create an object that is actually a VLayout that contains a Label (the tile), has a border as you need and includes a Canvas (the generic stuff you want included).
In my experience, I noticed that very often I have a DynamicForm visible, so I just add a BlurbItem control to diplay the tile and a small explanation.
How to I make a hyperlink that functions as a button? Or how do I make a button that looks like a hyperlink?
As of GWT 1.5, there is an Anchor widget that should do what you want.
One easy way is to use the Label class. Just create a new label and add a ClickHandler to it. You can then style it however you want using CSS:
Label lbl = new Label("Hello");
lbl.addClickHandler(...);
lbl.setStyleName("hyperlink_style_label");
I also found you can use the anchor class. add a click event and load the method you want as a new page. Inside the page clear the root or other panels you want using the clear() method eg. Rootpanel.get("root panel name").clear();
I wrote the example up and gave an example if you want to check it out. Hope this helps.