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键,添加或减少主屏数,希望对你有帮助