我正在尝试开发一个自定义组件,即弧形滑块,我完成了弧和拇指,但无法弄清楚如何绘制圆角边弧以及其中的浮雕效果.此刻滑块看起来像这样
绘制弧的代码是
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) 我在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) 我想实现与iPhone中相同的功能
我在底部栏中实现了与iPhone相同的自定义Tabhost.我可以为Normal/Selected状态设置两个Icons,但是我需要动态图标,其中包含Image中给出的通知数量.
谢谢
android android-custom-view android-tabhost android-tabactivity
我用Google搜索并找到了使用RemoteViewsService和RemoteViewsService.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) 我有包含古吉拉特语的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字体.
反编译代码非常容易,即使使用Proguard也无法保护代码.
我需要的是在应用程序中保护"密钥".build.gradle是否安全?可以反编译吗?
buildConfigField "String", "Key", "\"1234567890\""
Run Code Online (Sandbox Code Playgroud)
更新
根据commonsware的回答我得到它不安全?有没有其他方法可以管理这个?
android decompiling code-access-security android-studio android-gradle-plugin
我正面临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中
我正在使用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) 我有大约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.
我现在的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上创建了一些概率并且没有打开页面的移动视图.
已经尝试过提供列出的不同用户代理,并在 …