1. android 4.0以上 怎麼添加自己的widget到桌面啊
在程序抽屜里,一直向右翻動就會出現小插件,然後長按就可以添加了……
2. 【Android】如何在自己的程序中添加appWidget
其實在android中提供了三個非常簡單的類,應用這三個類我們可以將一個appWidget「表面上」,注意是「表面上」添加到你的應用中。代碼如下: AppWidgetHost host = new AppWidgetHost(this, 1024);
int appWidgetId = host.allocateAppWidgetId();
AppWidgetManager mAppWidgetManager = AppWidgetManager.getInstance(this);
mAppwidgetProviderInfos = (ArrayList
) mAppWidgetManager.getInstalledProviders();
for (int i = 0; i < mAppwidgetProviderInfos.size(); i++){AppWidgetProviderInfo widgetInfo = mAppwidgetProviderInfos.get(i);
AbsoluteLayout.LayoutParams allp = new AbsoluteLayout.LayoutParams(100, 100, 0, 0);
abl.addView(hostView, allp);
稍微解釋下,新建個AppWidgetHost,分配個appWidgetId,用AppWidgetManager得到一個AppWidgetProviderInfo,再用host建立AppWidgetHostView,最後設置下在layout中的位置,把它添加到layout上。
這樣,一個表面上的就好了。不過問題也隨之而來,這是個又困擾了我幾天的問題,就是這個appWidget根本就是處於個disable的狀態,即不更新,也無法響應broadcast。經過對於launcher,framework和網上的一些理解和查閱,終於找到了問題所在,而且是個相對來說比較惡心的問題。launcher中是這么做的,就是通過起一個
Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
將appWidgetId 傳入這個
pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);再調用startActivityForResult(pickIntent, REQUEST_PICK_APPWIDGET);
來實現的,當然這個intent還要些必要的參數。這里就不說了,代碼里自己看。
在onActivityResult里進行得到appWidgetId,AppWidgetProviderInfo,並建立個AppWidgetHostView,添加到layout上。
3. android怎麼點擊一個button 就在手機主界面創建一個widget(或在主界面添加一個textvew)
可以創建,但我認為比較麻煩,你需要得到layout布局,然後layout.addView(new TextVIew()).這樣的話在控制位置時就不像xml里了,用隱藏和顯示Textview的方法容易實現。
4. 如何使用android studio創建widget
之前看別人說用android studio ,而我還是用著ecilipse不以為然,試了一次,感覺還不如ecilipse好用,後來還是一直用的ecilipse,知道最近用起了android studio才發現真的很強大,支持各種功能,扯遠了,在ecilipse中製作桌面插件,又要配置這個又要配置那個,而在android studio中真的是一鍵搞定,沒有比這個更好的了。下面來看看android studio生成的一些關於AppWidgets的一些文件。
http://blog.csdn.net/jsdfsyd/article/details/50605193
5. 如何在 Android 4.4 系統的鎖屏介面加入 Widget
在xml中設置屬性就好了。<appwidget-provider>加入android:widgetCategory="keyguard|home_screen"
6. android widget自動添加
你手動添加一次後,以後每次開機就自動運行在桌面了。 如果是安裝完成軟體就自己運行在桌面,這個不知道。
希望高手來回答。
7. 求解:android中如何實現動態插入控制項
直接給你上代碼吧,寫了我半個小時,經過了我的測試了的~
運行下就能看到結果了~關鍵的remove的時候有給你寫注釋~
布局的layout文件內容:
----------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/linearlayout">
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="wrap_content" android:layout_height="wrap_content">
<Button android:layout_height="wrap_content" android:id="@+id/add"
android:text="Add" android:layout_width="100px"></Button>
<Button android:layout_height="wrap_content"
android:layout_width="100px" android:text="Remove" android:id="@+id/remove"></Button>
</LinearLayout>
<TextView android:id="@+id/TextView01" android:text="This is textView."
android:layout_width="fill_parent" android:gravity="center"
android:layout_height="50px"></TextView>
</LinearLayout>
----------------------------------------------------------------------------------
對應Activity的內容:
----------------------------------------------------------------------------------
package com.foxconn.dialog;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.LinearLayout;
public class DialogTest extends Activity implements OnClickListener {
private Button add_btn, remove_btn;
private LinearLayout linearLayout;
private int index = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findViews();
register();
}
private void register() {
add_btn.setOnClickListener(this);
remove_btn.setOnClickListener(this);
}
private void findViews() {
add_btn = (Button) findViewById(R.id.add);
remove_btn = (Button) findViewById(R.id.remove);
linearLayout = (LinearLayout) findViewById(R.id.linearlayout);
}
protected View createView() {
Button btn = new Button(this);
btn.setId(index++);
btn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
btn.setText("aaaaaa" + index);
return btn;
}
private void removeView() {
//獲取linearlayout子view的個數
int count = linearLayout.getChildCount();
//研究整個LAYOUT布局,第0位的是含add和remove兩個button的layout
//第count-1個是那個文字被置中的textview
//因此,在remove的時候,只能操作的是0<location<count-1這個范圍的
//在執行每次remove時,我們從count-2的位置即textview上面的那個控制項開始刪除~
if (count - 2 > 0) {
//count-2>0用來判斷當前linearlayout子view數多於2個,即還有我們點add增加的button
linearLayout.removeViewAt(count - 2);
}
}
public void onClick(View v) {
switch (v.getId()) {
case R.id.add:
linearLayout.addView(createView(), 1);
break;
case R.id.remove:
removeView();
break;
default:
break;
}
}
}
----------------------------------------------------------------------------------
8. 在android4.2版本模擬器中怎麼添加一個app widget
什麼意思?是說把已經安裝過的widget添加到桌面嗎?
那就進入程序列表 上面有兩個標簽 :應用/小部件 點小部件 就可以看到widget列表啦 然後長按一個拖到桌面上
9. Androidwidget這個是什麼老彈出來讓我下一些軟體,我卸載了它它還自動
我也遇到相同的問題,總是卸載了又在我不知道的情況下自動安裝上去了,還總是彈出廣告,經常不小心點到它突然彈出的廣告導致自動下載了,一個月的流量有三分之一是被它用掉的,煩死了。簡直是流氓插件!
我就想這東西是聯網就自動安裝的,我沒辦法徹底鏟除,那就裝著,我不刪你吧,但你的廣告我總要關掉,我在管理軟體和流量控制裡面把它的wifi聯網和2G/3G聯網全部都關了,看他哪裡來的廣告源。
待觀察中。。。。。。
————
不知道其他人解決得如何了,我關掉它的聯網後覺得廣告頻率少很多了,但偶爾還是有出來。
已經是用了三年多的手機了,早想換一個。
10. ANDROID程序裡面 添加 widget 並可以刪除移動 如何實現
長按手機屏幕,出現功能菜單,上下滑動點擊,添加桌面插件,及應用程序,長按home鍵,添加或減少主屏數,希望對你有幫助