Tuesday 28 May 2013

Android: iPhone style cancel and done buttons for android

drawable/cancelbutton.xml


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 
    <item>
        <shape>
            <gradient
                android:startColor="#b1b5ba"
                android:centerColor="#838991"
                android:endColor="#6b727d"
                android:angle="270" />
            <stroke
                android:width="1dp"
                android:color="#4b4d4f" />
            <corners
                android:radius="4dp" />
            <padding
                android:left="10dp"
                android:top="6dp"
                android:right="10dp"
                android:bottom="6dp" />
        </shape>
    </item>
</selector>


drawable/done.xml


<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
 
    <item>
        <shape>
            <gradient
                android:startColor="#8aaceb"
                android:centerColor="#4c80d9"
                android:endColor="#2a66d4"
                android:angle="270" />
            <stroke
                android:width="1dp"
                android:color="#5a6d8a" />
            <corners
                android:radius="4dp" />
            <padding
                android:left="10dp"
                android:top="6dp"
                android:right="10dp"
                android:bottom="6dp" />
        </shape>
    </item>
</selector>

Tuesday 21 May 2013

Android: Drawable with rounded corners / rounded corners only top


<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/white" />
    <stroke android:width="1dp" android:color="@color/light_gray" />
    <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />
    <corners android:radius="6dp" />
</shape>
 top corners:
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/white" />
    <stroke android:width="1dp" android:color="@color/light_gray" />
    <padding android:left="10dp" android:top="10dp" android:right="10dp" android:bottom="10dp" />
   <corners android:topLeftRadius="6dp" android:topRightRadius="6dp" android:bottomLeftRadius="0       .1dp" android:bottomRightRadius="0.1dp"/>

</shape>

Thursday 9 May 2013

Android: Touch Delegates to increase touch area


http://www.thomas-manthey.net/2012/03/04/android-basics-using-touchdelegates/



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/parent"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_horizontal|center_vertical"
    android:orientation="vertical" >

    <Button
        android:id="@+id/cmdClickMe"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/clickme"
        android:onClick = "cmdClickMe_OnClick" />

</LinearLayout>

Monday 6 May 2013

Android: How to run Button on main Thread

In onCreate


informationButtonHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
Button b = (Button) msg.obj;
b.performClick();
super.handleMessage(msg);
}
};

at button functionality


Message m = new Message();
m.obj = informationTabButton;
informationButtonHandler.sendMessage(m);

Wednesday 1 May 2013

Android: Displaying Activities with custom animation


styles.xml
<style name="MyTheme" parent="@android:style/Theme.Panel">
    <item name="android:windowNoTitle">true</item>
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:windowAnimationStyle">@style/MyAnimation.Window</item>
</style>

<!-- Animations --> 
<style name="MyAnimation" /> 

<!-- Animations for a non-full-screen window or activity. --> 
<style name="MyAnimation.Window" parent="@android:style/Animation.Dialog"> 
    <item name="android:windowEnterAnimation">@anim/grow_from_middle</item>
    <item name="android:windowExitAnimation">@anim/shrink_to_middle</item>
</style> 
Manifest.xml
    <activity
        android:name="com.me.activity.MyActivity"
        android:label="@string/display_name"
        android:theme="@style/MyTheme">
    </activity>

Android: android with HTML

WebViewActivity.java


public class WebViewActivity extends Activity {

 @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

       WebView webView = (WebView) findViewById(R.id.webView1);
       webView.getSettings().setJavaScriptEnabled(true);
       webView.setWebChromeClient(new WebChromeClient());
       webView.loadUrl("file:///android_asset/file.html");
   }

}


activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".WebViewActivity" >

    <WebView
        android:id="@+id/webView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

</LinearLayout>


file.html

<!DOCTYPE html>
<html>
<head>
</head>
<body style="background-color:#FFFFFF;">
username<br/>
<input type="text"><br/>
password<br/>
<input type="password">
<input type="button" value="Click">
</body>
</html>