I'm working on android sample project handling styles in all the versions of android. Style is working in Android API 14(ICS) and above but it is not working in API 13 and lower versions.
My Layout file is
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://ift.tt/nIICcg"
xmlns:tools="http://ift.tt/LrGmb4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_marginTop="5dp">
<LinearLayout
android:id="@+id/logon_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#FF525252"
android:orientation="vertical"
android:padding="10dp"
tools:ignore="RtlHardcoded">
<RelativeLayout
android:id="@+id/username_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/username"
style="@style/loginField"
android:hint="Enter the username"
android:imeOptions="actionNext"
android:inputType="textFilter"
android:textColorHint="#FF666666" />
<TextView
android:id="@+id/usernameLabel"
style="@style/signOnField"
android:layout_alignLeft="@id/username"
android:contentDescription="@string/online_username"
android:focusable="true"
android:labelFor="@id/username"
android:nextFocusDown="@id/username"
android:text="Name:"
android:textColor="#FF767070" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/password_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/password"
style="@style/loginField"
android:hint="Enter the password"
android:imeOptions="actionGo"
android:inputType="text"
android:textColorHint="#FF666666"
tools:ignore="TextFields" />
<TextView
android:id="@+id/password_text"
style="@style/signOnField"
android:layout_alignLeft="@+id/password"
android:contentDescription="@string/online_password"
android:focusable="true"
android:labelFor="@+id/password"
android:text="Password:"
android:textColor="#FF767070" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/signinBtn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
tools:ignore="RelativeOverlap">
<Button
android:id="@+id/signOn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginTop="5dp"
android:background="@drawable/button_signon"
android:contentDescription="Login"
android:filterTouchesWhenObscured="true"
android:minHeight="20dp"
android:minWidth="20dp"
android:paddingBottom="5dp"
android:paddingTop="5dp"
android:text="Login"
android:textAllCaps="false"
android:textColor="#FF5e5e5e"
android:textSize="18sp"
android:textStyle="bold"
tools:ignore="RelativeOverlap,UnusedAttribute" />
</RelativeLayout>
</LinearLayout>
</FrameLayout>
loginField style is
<style name="bgfield" parent="@style/myfield">
<item name="android:maxLength">14</item>
<item name="android:background">@drawable/myshape</item>
<item name="android:layout_centerVertical">true</item>
<item name="android:paddingTop">5dp</item>
<item name="android:paddingBottom">5dp</item>
<item name="android:textSize">15sp</item>
</style>
<style name="myfield" parent="BaseField">
<item name="android:paddingLeft">115dp</item>
</style>
<style name="BaseField" parent="@android:style/Widget.EditText">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">fill_parent</item>
<item name="android:scrollHorizontally">true</item>
<item name="android:maxLines">1</item>
<item name="android:lines">1</item>
<item name="android:textSize">16sp</item>
<item name="android:layout_marginTop">5dp</item>
<item name="android:textColor">#FF000000</item>
<item name="android:textCursorDrawable" tools:ignore="NewApi">@null</item>
</style>
myshape.xml file is
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://ift.tt/nIICcg"
android:padding="10dp"
android:shape="rectangle">
<solid android:color="#FFFFFF"/>
<corners android:radius="5dp"/>
</shape>
signonField style is
<style name="signOnField" parent="@style/MyTxtField">
<item name="android:layout_centerVertical">true</item>
<item name="android:layout_marginLeft">15dp</item>
<item name="android:paddingTop">5dp</item>
<item name="android:textSize">13sp</item>
<item name="android:paddingBottom">5dp</item>
<item name="android:textStyle">bold</item>
</style>
<style name="MyTxtField" parent="@style/MyTxt">
<item name="android:textSize">18sp</item>
</style>
<style name="MyTxt" parent="@android:style/Widget.TextView">
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:textColor">@color/text</item>
</style>
button_signon.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://ift.tt/nIICcg">
<item android:drawable="@drawable/pressed_signin" android:state_pressed="true"/>
<item android:drawable="@drawable/pressed_signin" android:state_focused="true"/>
<item android:drawable="@drawable/disabled" android:state_enabled="false"/>
<item android:drawable="@drawable/btn_default" />
</selector>
pressed_signin.xml
<solid android:color="#FFFFFFFF" />
<corners android:radius="5dp" />
<padding
android:left="20dp"
android:right="20dp" />
disabled.xml
<shape xmlns:android="http://ift.tt/nIICcg"
android:shape="rectangle" >
<corners android:radius="5dp" />
<gradient
android:angle="270"
android:centerColor="#FFc1cde1"
android:endColor="#FFbdc8db"
android:startColor="#FFcad5ea" />
<padding
android:left="20dp"
android:right="20dp" />
</shape>
btn_default.xml
<shape xmlns:android="http://ift.tt/nIICcg"
android:shape="rectangle" >
<solid android:color="#FFd6d6d6" />
<corners android:radius="5dp" />
<gradient
android:angle="90"
android:centerColor="#FFFFFFFF"
android:endColor="#FFFFFFFF"
android:startColor="#FFd6d6d6" />
<padding
android:left="20dp"
android:right="20dp" />
</shape>
In API level 13 and below the style is not applying/working. Can anyone let me know where i'm going wrong.
This is user authentication UI.
Aucun commentaire:
Enregistrer un commentaire