小编Vis*_*har的帖子

在浮雕效果的android中绘制圆角边弧

我正在尝试开发一个自定义组件,即弧形滑块,我完成了弧和拇指,但无法弄清楚如何绘制圆角边弧以及其中的浮雕效果.此刻滑块看起来像这样

在此输入图像描述

绘制弧的代码是

private void drawSlider(Canvas canvas) {
    float sweepDegrees = (value * arcWidthInAngle)
            / (maximumValue - minimumValue);

    // the grey empty part of the circle
    drawArc(canvas, startAngle, arcWidthInAngle, mTrackColor);
    // the colored "filled" part of the circle
    drawArc(canvas, startAngle, sweepDegrees, mFillColor);

    // the thumb to drag.       
    int radius = ((diameter/2) - (mArcThickness/2));
    Point thumbPoint = calculatePointOnArc(centerX, centerY, radius, startAngle + sweepDegrees);

    thumbPoint.x = thumbPoint.x - (mThumbDiameter/2);
    thumbPoint.y = thumbPoint.y - (mThumbDiameter/2);

    Bitmap thumbBitmap = BitmapFactory.decodeResource(
            mContext.getResources(), R.drawable.circle25);

    thumbBitmap = getResizedBitmap(thumbBitmap, …
Run Code Online (Sandbox Code Playgroud)

android android-canvas

25
推荐指数
3
解决办法
9048
查看次数

Android:在设置WebViewCore之前不支持EventHub.removeMessages(int what = 107)

我在Dialog Activity中实现了WebView,我正在将简单的url加载到webview中.

我的Webview设置如下

wbView = (WebView) findViewById(R.id.wbView);
        wbView.setKeepScreenOn(true);
        wbView.getSettings().setJavaScriptEnabled(true);
        wbView.getSettings().setDomStorageEnabled(true);
        wbView.getSettings().setBuiltInZoomControls(true);
        wbView.setInitialScale(100);
        // wbView.getSettings().setUseWideViewPort(true);
        wbView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
        wbView.setWebViewClient(new MyWebViewClient());
Run Code Online (Sandbox Code Playgroud)

和MyWebViewClient()包含

private class MyWebViewClient extends WebViewClient {
        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            prgBar.setVisibility(View.GONE);
        }

        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler,
                SslError error) {
            Log.e("Error VAGARO", error.toString());
            prgBar.setVisibility(View.GONE);
            handler.proceed();
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我在同一个webview中从Asset中加载两个HTML文件,它工作正常,但无法加载动态URL.

我在Google上找到了http://code.google.com/p/android/issues/detail?id=21177上的一些帖子

我的logcat告诉我

05-09 13:33:30.187: W/webcore(20054): java.lang.Throwable: EventHub.removeMessages(int what = 107) is not …
Run Code Online (Sandbox Code Playgroud)

android android-widget android-webview webviewclient

15
推荐指数
2
解决办法
2万
查看次数

Android TabHost上的徽章

我想实现与iPhone中相同的功能

在此输入图像描述

我在底部栏中实现了与iPhone相同的自定义Tabhost.我可以为Normal/Selected状态设置两个Icons,但是我需要动态图标,其中包含Image中给出的通知数量.

谢谢

android android-custom-view android-tabhost android-tabactivity

13
推荐指数
1
解决办法
2万
查看次数

Android - 具有Scrollable Listview手动刷新的小部件

我用Google搜索并找到了使用RemoteViewsServiceRemoteViewsService.RemoteViewsFactory操作listview数据的代码.如下

Intent svcIntent = new Intent(context, WidgetService.class);
svcIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID,appWidgetIds[i]);
svcIntent.setData(Uri.parse(svcIntent.toUri(Intent.URI_INTENT_SCHEME)));
RemoteViews widget = new RemoteViews(context.getPackageName(),R.layout.widget_layout);
widget.setRemoteAdapter(appWidgetIds[i], R.id.lstAppointments,svcIntent);
Run Code Online (Sandbox Code Playgroud)

WidgetService.java包含

public class WidgetService extends RemoteViewsService {

    @Override
    public RemoteViewsFactory onGetViewFactory(Intent intent) {
        return (new WidgetViewsFactory(this.getApplicationContext(), intent));
    }

    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return super.onBind(intent);
    }
}
Run Code Online (Sandbox Code Playgroud)

并在WidgetViewsFactory的 onCreate中编写了从webservice获取数据的所有代码,实现了RemoteViewsService.RemoteViewsFactory

为了手动或每隔5秒自动更新记录,我发现通过服务方法更新如下所述

public class WordWidget extends AppWidgetProvider {

    static int value = 1;
    Handler handler = new Handler();
    MyRunnable myRunnable;

    @Override …
Run Code Online (Sandbox Code Playgroud)

android android-widget

11
推荐指数
1
解决办法
1万
查看次数

古吉拉特语字体渲染

我有包含古吉拉特语的sqlite数据库..

数据库的sql查询是......

BEGIN TRANSACTION;
CREATE TABLE eng_guj (_id INTEGER PRIMARY KEY, eng_word , guj_word );
INSERT INTO eng_guj VALUES(1,'aardvark','??? ??????? ?????????? ?? ?????? ????? ??????.');
COMMIT;
Run Code Online (Sandbox Code Playgroud)

我想在textview中显示文本..但它没有正确呈现..意味着它在古吉拉特语中显示单词"આફ્રિકા"将显示为"આફરિકા".

我已经使用过Typeface和不同的ttf字体.

在此输入图像描述

android typeface

8
推荐指数
1
解决办法
2581
查看次数

build.gradle是否受到反编译的保护?

反编译代码非常容易,即使使用Proguard也无法保护代码.

我需要的是在应用程序中保护"密钥".build.gradle是否安全?可以反编译吗?

buildConfigField "String", "Key", "\"1234567890\""
Run Code Online (Sandbox Code Playgroud)

更新

根据commonsware的回答我得到它不安全?有没有其他方法可以管理这个?

android decompiling code-access-security android-studio android-gradle-plugin

8
推荐指数
1
解决办法
1990
查看次数

Eclipse-ADT的XML布局错误行为

我正面临Android XML Layout Editor的一些奇怪问题.

每当我从图形布局切换到代码布局时,它都会完美地显示所有内容,当我通过键盘箭头键单击或向上移动时,它表现得很奇怪,并且xml行的一部分变得可见/不可见.

Xml代码在那里,它没有改变.

看看附加的视频链接.
http://screencast.com/t/rY1gKPY9vn

我当前的配置:
Eclipse SDK
版本:3.7.2
构建ID:M20120208-0800

Android Development Toolkit
版本:20.0.3.v201208082019-427395

更新:
问题仍然存在于Eclipse 4.2中

eclipse android adt android-layout android-xml

5
推荐指数
1
解决办法
219
查看次数

XMPP:Asmack Connection PacketListener问题...

我正在使用asmack api进行Android XMPP集成...

在成功验证xmpp连接后,我已使用PacketListener进行传入消息通知.

我的应用是基于标签的应用.当我通过单击好友列表转移到聊天活动时,我的数据包监听器将添加到OnCreate方法的连接中.

问题是,很多时候我移动到这个屏幕,添加了多个侦听器,并且我多次获得相同的消息.

这个问题的解决方案?

PacketFilter filter = new MessageTypeFilter(Message.Type.chat);
        PacketListener pListener = new PacketListener() {
            public void processPacket(Packet packet) {
                Message message = (Message) packet;
                if (message.getBody() != null) {
                    String fromName = StringUtils.parseBareAddress(message
                            .getFrom());
                    Log.i("XMPPClient", "Got text [" + message.getBody()
                            + "] from [" + fromName + "]");
                    messages.add(fromName + ":");
                    messages.add(message.getBody());
                    // Add the incoming message to the list view
                    mHandler.post(new Runnable() {
                        public void run() {
                            setListAdapter();
                        }
                    });
                }
            }
        };

        connection.addPacketListener(pListener, filter);
Run Code Online (Sandbox Code Playgroud)

android xmpp smack asmack

4
推荐指数
1
解决办法
5728
查看次数

Android:从大型Arraylist搜索

我有大约29,000条记录的记录集.我的屏幕包含搜索条件的EditText框和包含所有29,000条记录的Listview.

通过列出的方式进行搜索需要时间,而不是根据需要提供更少的流量输出.

我的EditText包含

final EditText txtSearchCity = (EditText) findViewById(R.id.edtCity);
        txtSearchCity.addTextChangedListener(new TextWatcher() {
            @Override
            public void afterTextChanged(Editable s) {
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {
                aCountryIDTemp.clear();
                aCityStateTemp.clear();

                for (int i = 0; i < aCountryID.size(); i++) {
                    if (aCityState
                            .get(i)
                            .toLowerCase()
                            .contains(
                                    txtSearchCity.getText().toString()
                                            .toLowerCase())) {
                        aCountryIDTemp.add(aCountryID.get(i));
                        aCityStateTemp.add(aCityState.get(i));
                    }
                }

                BindList();
            }
        });
    }
Run Code Online (Sandbox Code Playgroud)

BindList()方法将arraylist aCityStateTemp设置为adapter.任何其他方式动态搜索和创建新的ArrayList.

arrays android arraylist

4
推荐指数
1
解决办法
7282
查看次数

Webview呈现页面在不同设备上有所不同

我现在的Webview设置是..

wv = (WebView) findViewById(R.id.webView1);
        wv.setHorizontalScrollBarEnabled(true);
        wv.setKeepScreenOn(true);
        wv.getSettings().setJavaScriptEnabled(true);
        wv.getSettings().setBuiltInZoomControls(true);
        wv.setInitialScale(1);
        wv.getSettings().setUserAgent(1);
//      wv.getSettings().setUserAgentString("Android");
//      wv.getSettings().setUserAgentString("Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7");
//      wv.getSettings().setUserAgentString("Mozilla/5.0 (Linux; U; Android 2.0; en-us; Droid Build/ESD20) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17");
        wv.getSettings().setUserAgentString("Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30");
        wv.getSettings().setUseWideViewPort(true);
        wv.setWebViewClient(new MyWebViewClient());
        wv.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
Run Code Online (Sandbox Code Playgroud)

我试图在我的手机SAMSUNG GALAXY S(OS 2.3.5)和SAMSUNG NEXUS(4.0)上加载https://www.facebook.com/Nissan,它在手机上加载的方式不同.

它在GALAXY S上看起来很完美..并且在NEXUS 4.0上创建了一些概率并且没有打开页面的移动视图.

已经尝试过提供列出的不同用户代理,并在 …

android

3
推荐指数
1
解决办法
2843
查看次数