4 ms·
Really good post. http://jbq.livejournal.com/151129.html http://jbq.livejournal.com/151129.html Basically, Google is trying to ship a phone first, and then wor
by ardit33 18y ago
Really good post.
http://jbq.livejournal.com/151129.html http://jbq.livejournal.com/151129.html
Basically, Google is trying to ship a phone first, and then worry about the SDK and developers.
Their API and software stack is changing a lot while developing for real devices, therefore anything they relesead now, would be obsolete.
So, Developers are going to get a SDK only when google is about to ship real devices.
The real issue is that they are taking forever to release a a real device,
and:
1. Their API sucks ass (so many hooplas to do even simple things, very kludgy).
2.Their UI is really not that great, especially compared to iPhone. Sure, it might be better than Symbian or Winmo, or Blackberry, but when it comes out, it will be nothing that exiting.
- gaius 18y agoIIRC the UI isn't a fundamental part of Symbian, it can look like whatever the vendor wants.
- ardit33 18y agoI am not talking about the UI "skin", but the fundementals. Animations are not that easy as they should be, and the widgets are messy, and you find out they don't do exactly what you want. Even the "Button" widget, extends the ImageSwap, which is a view, which has a gazillion of methods yet: It doesn't do the thing you want! You can give it a background, but only one image associated with it, and there is the highlight, which is a color. All I want is a ficking button that takes a normal, hover, pressed images. How hard is that? Well with Android you have to dig down, and extend it and change the code in order to get what you want. Not elegant at all google. http://code.google.com/android/reference/android/widget/ImageButton.html http://code.google.com/android/reference/android/widget/Imag... Summary Methods inherited from class android.view.View awakenScrollBars, awakenScrollBars, bringToFront, buildDrawingCache, clearAnimation, clearFocus, computeHorizontalScrollExtent, computeHorizontalScrollOffset, computeHorizontalScrollRange, computeScroll, computeVerticalScrollExtent, computeVerticalScrollOffset, computeVerticalScrollRange, copyWindowBitmap, dispatchDraw, dispatchFreeze, dispatchKeyEvent, dispatchThaw, dispatchTouchEvent, dispatchTrackballEvent, dispatchUnhandledMove, dispatchWindowFocusChanged, dispatchWindowVisibilityChanged, draw, drawableStateChanged, finalize, findFocus, findViewById, findViewWithTag, focusSearch, freeze, getAbsoluteLocationOnScreen, getAnimation, getBackground, getBaseline, getBlockDescendantFocus, getBlockUnmatchedKeyUps, getBottom, getBottomFadingEdgeStrength, getContext, getContextMenuInfo, getDefaultSize, getDrawableState, getDrawingCache, getDrawingCacheQuality, getDrawingRect, getDrawingTime, getFocusType, getFocusables, getFocusedRect, getGlobalVisibleRect, getGlobalVisibleRect, getHandler, getHeight, getHitRect, getHorizontalFadingEdgeLength, getHorizontalScrollbarHeight, getId, getInstanceCount, getLayoutParams, getLeft, getLeftFadingEdgeStrength, getLocalVisibleRect, getLocationInWindow, getLocationOnScreen, getMeasuredHeight, getMeasuredWidth, getOnFocusChangeListener, getPaddingBottom, getPaddingLeft, getPaddingRight, getPaddingTop, getParent, getResources, getRight, getRightFadingEdgeStrength, getRootView, getScrollX, getScrollY, getTag, getTop, getTopFadingEdgeStrength, getVerticalFadingEdgeLength, getVerticalScrollbarWidth, getViewRootInstanceCount, getVisibility, getWidth, getWindowFrame, getWindowSession, getWindowToken, getWindowVisibility, hasBackground, hasFocus, hasWindowFocus, inTouchMode, initializeFadingEdge, initializeScrollbars, invalidate, invalidate, invalidate, invalidateDrawable, isClickable, isDrawingCacheEnabled, isEnabled, isFocusable, isFocusableInTouchMode, isFocused, isFreezeDisabled, isHorizontalFadingEdgeEnabled, isHorizontalScrollBarEnabled, isLayoutRequested, isPressed, isSelected, isVerticalFadingEdgeEnabled, isVerticalScrollBarEnabled, layout, measure, mergeDrawableStates, onAttachedToWindow, onCreateDrawableState, onDetachedFromWindow, onDraw, onDrawBackground, onFinishInflate, onFocusChanged, onFreeze, onKeyDown, onKeyMultiple, onKeyUp, onLayout, onMeasure, onPopulateContextMenu, onScrollChanged, onSizeChanged, onThaw, onTouchEvent, onTrackballEvent, onWindowFocusChanged, onWindowVisibilityChanged, performClick, performLongClick, populateContextMenu, post, postDelayed, postInvalidate, postInvalidateDelayed, press, refreshDrawableState, requestFocus, requestFocus, requestFocus, requestLayout, requestRectangleOnScreen, requestRectangleOnScreen, resolveSize, scheduleDrawable, scrollBy, scrollTo, setAnimation, setBackground, setBackground, setBackgroundColor, setBlockDescendantFocus, setBlockUnmatchedKeyUps, setClickable, setDrawingCacheEnabled, setDrawingCacheQuality, setEnabled, setFadingEdgeLength, setFocusType, setFocusable, setFocusableInTouchMode, setFreezeDisabled, setHorizontalFadingEdgeEnabled, setHorizontalScrollBarEnabled, setId, setLayoutParams, setMeasuredDimension, setOnClickListener, setOnFocusChangeListener, setOnKeyListener, setOnLongClickListener, setOnPopulateContextMenuListener, setPadding, setPreferredHeight, setPreferredWidth, setSelected, setTag, setVerticalFadingEdgeEnabled, setVerticalScrollBarEnabled, setVisibility, setWillNotCacheDrawing, setWillNotDraw, startAnimation, thaw, unpress, unscheduleDrawable, unscheduleDrawable, verifyDrawable, willNotCacheDrawing, willNotDraw