Hardcode UI for Android

Source: Internet
Author: User
Import android. app. activity; import android. widget. imageview; import android. widget. relativelayout; import android. widget. textview; @ suppresswarnings ("UNUSED") public class syncstatuspanel extends relativelayout { Private class seticonuithread implements runnable { Private int image; Public seticonuithread (){ } Public void run (){ If (image! = 0 ){ Sourceiconview. setimageresource (image ); } Else { Sourceiconview. setimageresource (0 ); } } Public void seticon (INT image ){ This. Image = image; } } Private class setstatusiconuithread implements runnable { Private int image; Public setstatusiconuithread (){ } Public void run (){ If (image! = 0 ){ Statusiconview. setimageresource (image ); } Else { Statusiconview. setimageresource (0 ); } } Public void seticon (INT image ){ This. Image = image; } } Private class setstatusstringuithread implements runnable { Private string text; Public setstatusstringuithread (){ } Public void run (){ Statustextview. settext (text ); } Public void settext (string value ){ This. Text = value; } } Private class settitleuithread implements runnable { Private String title; Public settitleuithread (){ } Public void run (){ Titletextview. settext (title ); } Public void settitle (String title ){ This. Title = title; } } Protected static final int bottom_padding = 8; Private Static final int disabled_text_color = 0xff7f7f7f; Private Static final int enabled_text_color = 0xff000000; Protected static final int source_icon_left_padding = 4; Protected static final int source_icon_right_padding = 4; Private Static final int status_font_size = 12; Protected static final int status_icon_r_padding = 4; Protected static final int status_l_padding = 12; Private Static final int title_font_size = 20; Protected static final int title_l_padding = 5; Protected static final int top_padding = 8; Protected activity; Protected seticonuithread = new seticonuithread (); Protected setstatusiconuithread = new setstatusiconuithread (); Protected setstatusstringuithread = new setstatusstringuithread (); Protected settitleuithread = new settitleuithread (); Protected imageview sourceiconview; Protected imageview statusiconview; Protected textview statustextview; Protected textview titletextview; // ID of each element Protected final int d1 = 0x514001, D2 = 0x514002, D3 = 0x514003, D4 = 0x514004; Public syncstatuspanel (activity ){ Super (activity ); This. Activity = activity; Statusiconview = createstatusicon (activity ); Sourceiconview = createsourceicon (activity ); Titletextview = createtitletext (activity ); Statustextview = createstatustext (activity ); Relativelayout. layoutparams params1 = new relativelayout. layoutparams ( Layoutparams. wrap_content, Layoutparams. wrap_content ); Params1.addrule (relativelayout. center_vertical ); Params1.addrule (relativelayout. align_parent_left ); Addview (sourceiconview, params1 ); Relativelayout. layoutparams params2 = new relativelayout. layoutparams ( Layoutparams. wrap_content, Layoutparams. wrap_content ); Params2.addrule (relativelayout. center_vertical ); Params2.addrule (relativelayout. align_parent_right ); Addview (statusiconview, params2 ); Relativelayout. layoutparams params3 = new relativelayout. layoutparams ( Layoutparams. fill_parent, Layoutparams. wrap_content ); Params3 . Addrule (relativelayout. right_of, Sourceiconview. GETID ()); Params3.addrule (relativelayout. align_parent_top ); Params3.addrule (relativelayout. left_of, statusiconview. GETID ()); Addview (titletextview, params3 ); Relativelayout. layoutparams params4 = new relativelayout. layoutparams ( Layoutparams. fill_parent, Layoutparams. wrap_content ); Params4 . Addrule (relativelayout. right_of, Sourceiconview. GETID ()); Params4.addrule (relativelayout. below, titletextview. GETID ()); Params4.addrule (relativelayout. left_of, statusiconview. GETID ()); Addview (statustextview, params4 ); Setbackgroundresource (R. drawable. sync_status_panel ); } Protected int adaptsizetodensity (INT size ){ Return (INT) (size * getcontext (). getresources () . Getdisplaymetrics (). Density ); } Protected imageview createsourceicon (activity ){ Imageview sourceiconview = new imageview (activity ); Sourceiconview. setpadding ( Adaptsizetodensity (source_icon_left_padding ), Adaptsizetodensity (top_padding ), Adaptsizetodensity (source_icon_right_padding ), Adaptsizetodensity (bottom_padding )); Sourceiconview. setid (D1 ); Return sourceiconview; } Protected imageview createstatusicon (activity ){ Imageview statusiconview = new imageview (activity ); Statusiconview. setadjustviewbounds (true ); Statusiconview. setmaxheight (adaptsizetodensity (32 )); Statusiconview. setmaxwidth (adaptsizetodensity (32 )); Statusiconview. setid (D2 ); Return statusiconview; } Protected textview createstatustext (activity ){ Textview statustextview = new textview (activity ); Statustextview. setpadding (adaptsizetodensity (status_l_padding ), 0, 0, 0 ); Statustextview. settextsize (status_font_size ); Statustextview. settextcolor (enabled_text_color ); Statustextview. setbackgroundcolor (Android. R. color. Black ); Statustextview. setid (D3 ); Return statustextview; } Protected textview createtitletext (activity ){ Textview titletextview = new textview (activity ); Titletextview. settextsize (title_font_size ); Titletextview. setpadding (adaptsizetodensity (title_l_padding ), Adaptsizetodensity (top_padding), 0, 0 ); Titletextview. settextcolor (enabled_text_color); // color Titletextview. setid (D4 ); Return titletextview; } Public void seticon (INT image ){ Seticonuithread. seticon (image ); Activity. runonuithread (seticonuithread ); } Public void setstatusicon (INT image ){ Setstatusiconuithread. seticon (image ); Activity. runonuithread (setstatusiconuithread ); } Public void setstatusstring (string value ){ Setstatusstringuithread. settext (value ); Activity. runonuithread (setstatusstringuithread ); } Public void settitle (string value ){ Settitleuithread. settitle (value ); Activity. runonuithread (settitleuithread ); }}

 

 

 

 

 

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.