Android Metro-style Launcher development series 3, androidmetro
Preface:
Dear friends, it's time to update the article every week. It was originally sent out on Sunday. Isn't it a catch-up with the Tomb Sweeping Day? The Queen spoke and played with her two or half days before the Tomb Sweeping Day, I will only write my blog on Monday afternoon. Where is the Queen? Where is it? There is oppression! Well, let's talk less about it. The previous blog (the
I. Preface:Init process –> zygote process –> systemserver process –> Launcher Desktop program-our appInit process: Linux root process, Android system is based on Linux system, so it can be counted as the first process of the entire Android operating system;Zygote process: Root process of Android system, main function: can function zygote process fork out systemserver process and various application processes;Systemservice process: Mainly in this proce
Title, the code is no longer wrong, but once it runs, it makes a mistake.[2015-03-20 15:24:49-launcher] Dx 1 Error; Aborting[2015-03-20 15:24:49-launcher] Conversion to Dalvik format failed with error 1Check for a long time, because there is no clear direction, the reasons for the online said there are many, the solution is also a lot, but there is no solution, finally groped to solve the present problem.Le
First part--------------------------------------------------------------------------------ProblemAs the activity can only be displayed to the foreground when the onresume, so, if the background set for mainactivity, no matter how fast oncreate-onresume speed, will appear a short empty page with the title , That's what we don't want.Methodjust at Androidmanifest.xml for your Application > plus the Theme property. Part II-----------------------------------------------------------------------
Modifies the size of Apps_customize_cell_width and apps_customize_cell_height in Launcher2/res/value/dimens.xml. How much value is appropriate and requires a combination of code.Pagedviewcelllayout Estimatecellhspan and Estimatecellvspan get the return value N (n is the column and row for the number of cells per screen).Take Estimatecellvspan as an example, int n = Math.max (1, (availheight + mheightgap)/(Mcellheight + mheightgap));Availheight is available height, availheight = Estimatecellvspan
1, please modify the Hotseat_cell_height value in Alps/packages/apps/launcher2/res/values/dimens.xml, for example, change to 100;2, please modify the Alps/packages/apps/launcher2/src/com/android/launcher2/hotseat.java in the Resetlayout () method, the main menu icon to add title, For example: Add Allappsbutton.settext ("Allappsbutton_title");3, please modify the Alps/packages/apps/launcher2/src/com/android/launcher2/celllayout.java Addviewtocelllayout method, the following code is commented out:
.getwidth (); Bitmap resultbmp = Bitmap.createbitmap (width, width,bitmap.config.argb_8888); Paint paint = new paint (); Canvas canvas = new canvas (resultbmp); canvas.drAwbitmap (lay1, 0, 0, paint);//Draw the lower layer//Let the upper icon center Display int top = 0;if (Lay1.getheight () > Lay2.getheight ()) {top = (Lay1.gethei Ght ()-lay2.getheight ())/2;} else{//here can determine whether the picture is larger than the box, and then continue to get more than how much, the upper picture of th
See the number on the iphone calendar icon will change with the date changes, recently on the Android platform also studied, the implementation method is as follows:directly on the sourceChanged it in the launcher.First, in the Iconcache.java file, find the method private CacheEntry cachelocked (componentname componentname, ResolveInfo info,HashmapIn Entry.icon = Utilities.createiconbitmap (icon, mcontext); This position is modified:The following source code is changed:Next Modify Utilities.java
When I started Tomcat on Mac OS X, I reported java.net.BindException:Permission denied Mac OS X requires root privileges to bind to ports below 1024, but if you start eclipse or Tomcat with root, the various files that are created by the startup are root and cannot be deleted by ordinary users.To do this, we can do the network layer port forwarding through PFCTL, so that the connection to the native 80 port of the request, are forwarded to 9090 port; (Note that Mac OS uses 80 ports for network f
Objectivewelcome everyone I share and recommend useful code Snippets ~ ~StatementWelcome reprint, but please keep the original source of the article:CSDN:http://www.csdn.netrainy season o mo away:http://blog.csdn.net/luckkofBodyKK Launcher3 Wallpaper display is dynamic, related to the number of launcher preset desktop, let the wallpaper center, only to ensure that the first time the wallpaper center, after the user modified the number of desktops, wil
To hide the boot icon from the APK in launcher:APK's Androidmanifest.xml file is removed from the main activity in Intent-filter.To see if the APK is installed successfully:See the application list for apps, settingsStart the APK method:Intent Intent = new Intent (intent.action_main);Intent.setcomponent (New ComponentName ("Com.my.demo", "com.my.demo.MainActivity"));Intent.addflags (Intent.flag_activity_new_task);StartActivity (Intent);Hide apk in Launcher
[UIApplication Sharedapplication].keywindow
Get the UIWindow where a uiview is located
View.window
Four objects ( Uiapplication,appdelegate,uiwindow,uiviewcontroller) diagram
Info.plist Common Settings
After building a project, you will see a "project name-info.plist" file under the supporting Files folder, which is very important for the project to do some run-time configuration, and cannot be deleted. In the project created by the older
1121: [POI2008] Laser emitter szk time
limit:10 Sec Memory limit:162 MBsubmit:682 solved:565[Submit] [Status] [Discuss]
DescriptionPolygon adjacent edge vertical, edge length is an integer, edge parallel axis. To place some laser emitters and receivers on the point of the polygon. The following requirements are met: 1 the transmitter and receiver cannot be placed at the same point; 2 the emitter emits a laser that can be reflected along the wall and eventually reach a receiver; 3 the em
has been studying Android for a few days, and just started to write the code that said the installation was successful, but the AVD was not shown. Left look at the code, right look at the code, always found no error,Android:allowbackup= "true"android:icon= "@drawable/ic_launcher"Android:label= "@string/app_name"Android:theme= "@style/apptheme" >Android:name= "Com.pake.DayName"Android:label= "@string/title_activity_main" >is very upset, after a day, and opened to look, suddenly found that Android
Reprinted from: http://www.cnmsdn.com/html/201106/1308775819ID9981.html
You should be familiar with launcher's desktop slide. The best experience should be that you can display the desktop in different locations as your fingers slide,
It is much better than the gesture switching page implemented by viewflinger + animation ~~~~
After analyzing the workspace in the launcher, there is too much code to use (drag, hold ,,,), remove the redundant code in i
, in onmeasure, You can naturally see that when you measure the size of each child, the set method is also called for it. As follows:
Int COUNT = getchildcount (); log. V (TAG, "onmeasure start... "); For (INT I = 0; I
At this point, we have finished introducing the child's painting work on celllayout. But we have not mentioned how to add the selected item to the desktop when we press the desktop for a long time. You have to go back to the onlongclick method of
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.