Android :: How To Extend Resources Xml With Custom Views?
Aug 30, 2009Does anybody knows if (and how ) I can write a custom view/widget and then use it in resources in layout defintions?
View 5 RepliesDoes anybody knows if (and how ) I can write a custom view/widget and then use it in resources in layout defintions?
View 5 Repliesim having a problem getting a custom view that i created on the xml layout file. i have a class named DrawingLayout which extends FrameLayout. it is found in the package Drawing
as stated on this page http://developer.android.com/guide/topics/ui/custom-components.html i used the following decleration in xml
<Drawing.DrawingLayout ... />
but whenever i run the program with that decleration i get a runtime exception error on SetContentView( ... )
is there something im not doing well? If you need any more details please tell me because i cant seem to figure this one out.
Is it possible to nest one custom views within another Custom view?
View 13 Replies View Related*I have used three custom views... playpanel works fine.. but drawHeaderpanel does not workk..*
public class MainPanel extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);...................
I am parsing the url to display the contents in it, my requirement i have to display the each content in separate textviews.
For Instance: Let us assume the contents in that url are FootBall, Carom , chess, VolleyBall and so on . I want to display FootBall as a individual textview similarly others. so i cannot declare the textviews in xml what i usually do.
CODE:................
So i planned to create textview via java code
This is my parsing code which parse the url contents and store the result in a string array namely san_tagname; depending upon the length of this variable i want to create number of textviews.
CODE:..................
I have made a Custom Component in XML, consisting of a button with an imageview stacked on top of it:
<myapp.widget.ClearableCaptionedButton
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:id="@+id/ccbutton_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical|left"
android:textAppearance="?android:attr/textAppearanceMedium"
android:background="@android:drawable/edit_text"/>
<ImageView
android:id="@+id/ccbutton_clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="5dip"
android:layout_alignRight="@id/ccbutton_button"
android:layout_alignTop="@id/ccbutton_button"
android:layout_alignBottom="@id/ccbutton_button"/>
</myapp.widget.ClearableCaptionedButton>
Extract of java source code:
public class ClearableCaptionedButton extends RelativeLayout implements OnClickListener {
...
public ClearableCaptionedButton(Context context, AttributeSet attrs) { super(context, attrs);
// some stuff that works fine
} ..
protected void onFinishInflate() { super.onFinishInflate();
mButton = (Button) findViewById(R.id.ccbutton_button);
mClear = (ImageView) findViewById(R.id.ccbutton_clear);
mButton.setText(""); // error here: mButton == null
}
My problem is similar to this one. When I try to find the views inside the custom compound, findViewById returns null. But, as you can see, i already added super(context, attrs); to the constructor. I am using the custom component directly in xml layout, like this:
<LinearLayout>
<!-- some stuff -->
<myapp.widget.ClearableCaptionedButton
android:layout_width="fill_parent"
android:layout_height="wrap_content"
app:caption="to"/>
</LinearLayout>
I created a custom SurfaceView called CaptureView and tried to add it into main.xml file.The application seems to work fine but if I switch from main.xml tab to Layout in Eclipse the text NullPointerException appears instead of layout preview.Does anyone know how this issue could be solved?
View 2 Replies View RelatedI have a set of custom views that I would like to add to a LinearLayout object. However, the first object I add to the layout (I do this dynamically, during runtime) has a OnMeasure method that tries to get as much space as possible resulting in that it get's all the space LinearLayout object. This is correct behavior, but when I then add more objects following that I want the allocated area for the first object to decrease so the others will fit. As it is now, each following object will get zero space, and hence won't be visible.
View 4 Replies View RelatedI have a requirement to create a control similar to UITabBar in iPhone, which is to be present on every activity of my application. UITabBar essentially is a battery of buttons exhibiting a TAB like behavior: every button maps to an activity. I have two solutions for this: 1. In the layout XML for every activity, I insert a <LinearLayout><Button/><Button/><Button/></LinearLayout> element. And then have a common listener class that will handle the button clicks. So, every activity will have an instance of this listener. 2. To create a custom Widget extending LinearLayout class, put all the buttons as its static members and let it handle the button clicks. Include this custom control in every screen.
View 3 Replies View RelatedIs it possible to clone a view. If no, how to support clone of a view in custom views. If yes.. which api should we use. clone method seems to be protected for view.
View 2 Replies View RelatedI am developing a small app for Android. I am creating my own view.
I am planning to design the layout to be:
<LinearLayout>
<MyView>
<Button><Button>
</LinearLayout>
But when I run my program, my custom view will cover the whole screen. Is there anyway to avoid this?
I have already tried to add android:layout_width, layout_height to be wrap_content, fill_partent, but no luck.
While researching how to create custom compound views in Android, I have come across this pattern a lot (example comes from the Jteam blog)I mostly understand how this is working, except for the part where inflate() is called. The documentation says that this method returns a View object, but in this example the author does not store the result anywhere. After inflation, how is the new View created fromt eh XML associated with this class? I thought about assigning it to "this", but that seems very wrong.
View 1 Replies View RelatedI have a simple ListView and on that ListView I have placed a number of custom defined Views. The CustomView has ImageView and two TextViews.
The CustomView also has a "stateful drawable" as background, so that the background image (a 9-patch) changes if you press the Row in the ListView. When pressing the Row, the background image changes to a Red-ish thing.
The problem is that when the background changes from the default greyish, all the Views in the CustomView (ImageView and TextViews) still have their greyish background and thus creates very ugly greay boxes on top of the now redish background.
What is the best way to solve that problem? I hoped that such things were handled automatically (as it is done in for example .NET), but I was wrong it seems.
I have an activity defined as:
CODE:...................
I've successfully implemented onRetainNonConfigurationInstance() for my main activity to save and restore certain critical components across screen orientation changes.
But it seems, my custom views are being re-created from scratch when the orientation changes. This makes sense, although in my case it's inconvenient because the custom view in question is an X/Y plot and the plotted points are stored in the custom view.
Is there a crafty way to implement something similar to onRetainNonConfigurationInstance() for a custom view, or do I need to just implement methods in the custom view which allow me to get and set its "state"?
I am implementing a music player application in Android. My play list selection screen is implemented as a tab selector widget which contains a ListActivity inside each of the tabs: Artist, Albums, Songs.
I want to update the ListView in each of the ListActivity when I delete an item from any of the lists.
i.e. When I long press an item in the Artists list a context menu is drawn with "Delete Artist"
And it should delete all the songs from this artist in the Songs ListView, delete all the albums by this artist in the Albums ListView, and finally delete the entry for the artist in the Artist ListView.
Each of the ListActivity has its own fillData() method, which updates the ListView when the button in the context menu is pressed.
How can I call the fillData() method of the Albums ListActivity after I update the ListView inside of the Artists ListActivity?
I want to populate a table, defined in layout xml file through the programmatic way. I have define Table with a single row defining its header, with all the attributes set. Now i want to know a way so that i can just replicate that header row in the table with new content.
I tried using inflator inflate(int,view) method, but at runtime it showed up with error.
Here is the XML code for the layout file defining the table
CODE:.................
In my Android project, I want to loop through the entire collection of Drawable resources. Normally, you can only retrieve a specific resource via its ID using something like:
InputStream is = Resources.getSystem().openRawResource(resourceId)
However, I want to get all Drawable resources where I won't know their ID's beforehand. Is there a collection I can loop through or perhaps a way to get the list of resource ID's given the resources in my project?
Or, is there a way for me in Java to extract all property values from the R.drawable static class?
I have the following XML code:.................
The idea is to change the views, whenever I press one of the radio buttons. When I press a button the first time everything works out fine, but the second time I press a button, I get an IllegalStateException, and I can't quite see why I'm getting this.
Also, the Activity seems to set all my global variables to null, which is why I have to create them every time I switch from portrait to landscape or vice versa. So I would like to know if there is a way I can save my views in the Bundle, or any other way in which I can permanently save my views, so I don't have to add or create them every time, I flip the phone. And whenever I flip the phone, it seems that it rereads the main XML file, causing the RadioGroup to be set to 2D even if the 3D button is checked. This is because I've said the 2D button to be checked from when the app is first created, but I would like to also save the state of that RadioGroup.
How do you align views relative to the "middle" part of another view? I think it is best explained with a pic of the UI I'm trying to create in android.
View 2 Replies View RelatedIs there any way to query a root view of an activity for all of its child views even before the root view or its children have been inflated? I guess what I'm looking for is whether a view knows ahead of time what children it will have before it gets inflated, and can I get that list in some way. Bizarre I realize, but I think it will help me with some unconventional automation testing I'm working on. I haven't found anything in the API like this.
View 1 Replies View RelatedLet's say I have a LinearLayout, and I want to add a View to it, in my program from the Java code. What method is used for this? I'm not asking how it's done in XML, which I do know, but rather, how can I do something along the lines of (One View).add(Another View) Like one can do in Swing.
View 2 Replies View RelatedI am using the following code to play video..
View 4 Replies View RelatedI'm running into difficulties overriding an ArrayAdapter to be displayed in a ListActivity. The ArrayAdapter is filled asynchronously. What I'm trying to do is add a special "sentinel" object that sits at the beginning of the list to show the progress of the computation. Ultimately this may be a progress bar, but right now I am just using a TextView as a placeholder. The problem is that the sentinel seems to get inserted multiple times into the list - not just once at the beginning. It *seems* to be appearing once per "page" of list data (so if 8 list items fit on the screen, my sentinel appears as the 1st, then 9th, then the 17th, etc..), but that interpretation may not be accurate. While maybe not how ArrayAdapters were intended to be extended, I thought something like this should work by simply overriding getView() to show my custom TextView for index.
View 3 Replies View RelatedI'm am trying to learn how to create LayoutGroups. For a start, I created MyLinearLayout which is supposed to force all children into same width (yes, there is layout_weight, but that's beside the point.
View 2 Replies View RelatedI know this topic has been covered a lot, so apologies if this is redundant. I would like to work in the SDK and simply extend a core app that already exists, and then override some functionality. For example, I would like to extend Contacts, but then overwrite the entire ContactsListActivity class, for my own experimental MyContacts.apk.
In this youtube video: http://www.youtube.com/watch?v=3aUjukCdPyQ
Dianne talks about the ringtone picker, did she just extend the core ringtone picker and work in the SDK?
I DO have the entire platform source code, and have made some changes to core apps there, but rebuilding takes awhile (even useing mmm, and snod), so I was hoping to speed up development by working in the SDK (where building and running the emulator seems to go faster). Not sure if this is realistic or not.
This is all just for some internal experimentation, I am not looking to contribute the the core apps.
In another post, someone had referred to ".... classes available in the SDK....". How can we see what classes we have access to, in the SDK.
I mean, is there any way to add more functionality add/remove events synchronize with other then Google calendars/formats (authorized).
View 1 Replies View RelatedCurrently in my design I've got a base abstract class that all of my activities extend from, however I discovered recently that in order to use a MapView you need to make your activity extend MapActivity. Since Java does not have multiple inheritance I was wondering if there is any way I can use a MapView without having to recreate my design for my application.
View 1 Replies View RelatedI recently formatted my computer and updated to Windows 7. I backed up my keystore and tried to sign my apk with it but it gave me an error that said my certificate expires in 22yrs. which is just shy of what the market requires to upload the apk. So now I am stuck not being able to update my app... Is there a way to extend the lifetime of certificates so that I can update my app?
View 1 Replies View RelatedWe are looking for possibility of extend C2DM to other platform such as WM. And want to check the technology or protocol behind android 2.2 Cloud to Device Messaging.
View 2 Replies View Related