我对android编程完全不熟悉(只做了一些教程/阅读开发指南等),并且每个新手我都想做一个无用的游戏:-).
目前我正在努力与不同观点的布局.与示例类似,我创建了一个扩展a SurfaceView并将其放入a的类FrameLayout.围绕这个SurfaceView我希望有其他视图像Buttons&TextViews.像这样的东西:
-----------------------------------------------
| TextView | SurfaceView | TextView |
| | | |
------------ ------------
| | | TextView |
| | | |
| | ------------
| | | TextView |
| | | |
| | ------------
| | | |
| | | |
-----------------------------------------------
| Button Button |
-----------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我已经设法用a FrameLayout和RelativeLayouts(粘TextViews在屏幕的边缘)做这样的事情,但我想更好地控制它的大小,SurfaceView因为它应该是对象的宽度和高度的倍数我会画画.我已经尝试过设置layout_width和layout_height一些dp值,但是当我开始绘制0,0时它仍然位于左上角(那里TextView是......).
那么,实现上述布局的最佳实践是什么?使用什么布局?或者我应该更好地在我的 …
我有一个GDATA链接,我想在我的应用程序中使用.此链接包含播放列表,我希望该播放列表显示在ListView.然后,用户将选择他/她想要的视频,然后可以使用本地Youtube应用程序在应用程序旁边播放.
请指出一个直观的教程.我知道YouTube API页面包含所有信息,但我可以做出正面或反面.
在我的Android应用程序中,我将数据发送到httpsservlet URL WebView,如下所示
String postData = "fileContents=" + fileCon;
WebView.postUrl(url, EncodingUtils.getBytes(postData, "BASE64"));
Run Code Online (Sandbox Code Playgroud)
上面代码中的URL是一个servlet URL,我必须发布一些数据,然后从那里重定向到其他URL.
当servlet URL正好时,上面的代码工作正常HTTP.但是当更改为时HTTPS,它显示为空白屏幕.
我为android HTTPS问题尝试了以下解决方案:http:
//blog.antoine.li/index.php/2010/10/android-trusting-ssl-certificates/
我从onCreate()方法中删除了上面的代码并尝试了以下代码
ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("fileContents", fileCon));
DefaultHttpClient client = new MyHttpClient(getApplicationContext());
try {
HttpPost request = new HttpPost(url);
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParameters);
request.setEntity(formEntity);
HttpResponse resp = client.execute(request);
} catch(Exception e){
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
现在我可以发布数据,并从那里也重定向.但我仍然看到一个空白的屏幕.
是因为我没有loadUrl或postUrl我看到空白屏幕?
或者我应该将上述代码放在任何方法中WebView?
我使用的是ViewPager一个PagerFragmentAdapter使用内部列表来提供片段的自定义.我想在设置更改时动态添加和删除片段.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_pager);
mAdapter = new ServicePagerAdapter(getSupportFragmentManager());
mPager = (ViewPager) findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
}
Run Code Online (Sandbox Code Playgroud)
我试图再次打电话setAdapter但是我得到了一个IllegalStateException (Can not perform this action after onSaveInstanceState).
怎么能达到我的目的?
这是我的代码:
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
final WebClient webClient = new WebClient();
final HtmlPage startPage = webClient.getPage("http://htmlunit.sf.net");
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
11-04 21:58:08.761: ERROR/dalvikvm(17868): Could not find class 'com.gargoylesoftware.htmlunit.DefaultCssErrorHandler', referenced from method com.gargoylesoftware.htmlunit.WebClient.<init>
11-04 21:58:08.771: ERROR/dalvikvm(17868): Could not find class 'com.gargoylesoftware.htmlunit.DefaultCssErrorHandler', referenced from method com.gargoylesoftware.htmlunit.WebClient.<init>
11-04 21:58:09.501: ERROR/AndroidRuntime(17868): FATAL EXCEPTION: AsyncTask #1
11-04 21:58:09.501: ERROR/AndroidRuntime(17868): java.lang.RuntimeException: An error occured while executing doInBackground()
11-04 21:58:09.501: ERROR/AndroidRuntime(17868): at android.os.AsyncTask$3.done(AsyncTask.java:200)
11-04 21:58:09.501: ERROR/AndroidRuntime(17868): at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
11-04 21:58:09.501: ERROR/AndroidRuntime(17868): at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
11-04 21:58:09.501: ERROR/AndroidRuntime(17868): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
11-04 21:58:09.501: …Run Code Online (Sandbox Code Playgroud) 我有一个基于Android-ViewPagerIndicator的应用程序.
我想创建HorizontalScrollView一个Fragment.视图将包含一些图片.我的问题是,当我尝试滚动时,我的滚动视图不起作用,我滚动所有片段而不仅仅是我想要的视图.希望我的问题是可以理解的!:)
这是代码的一部分:
.XML
<HorizontalScrollView android:id="@+id/horizontalScroll"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="none"
android:fadingEdgeLength="10dp">
<LinearLayout
android:id="@+id/harokLayout"
android:background="#EEEEEE"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView android:src="@drawable/app2" android:layout_height="wrap_content" android:layout_width="wrap_content" />
<ImageView android:src="@drawable/app1" android:layout_height="wrap_content" android:layout_width="wrap_content" />
<ImageView android:src="@drawable/app2" android:layout_height="wrap_content" android:layout_width="wrap_content" />
<ImageView android:src="@drawable/app1" android:layout_height="wrap_content" android:layout_width="wrap_content" />
<ImageView android:src="@drawable/app2" android:layout_height="wrap_content" android:layout_width="wrap_content" />
<ImageView android:src="@drawable/app1" android:layout_height="wrap_content" android:layout_width="wrap_content" />
<ImageView android:src="@drawable/app2" android:layout_height="wrap_content" android:layout_width="wrap_content" />
<ImageView android:src="@drawable/app1" android:layout_height="wrap_content" android:layout_width="wrap_content" />
<ImageView android:src="@drawable/app2" android:layout_height="wrap_content" android:layout_width="wrap_content" />
<ImageView android:src="@drawable/app1" android:layout_height="wrap_content" android:layout_width="wrap_content" />
<ImageView android:src="@drawable/app2" android:layout_height="wrap_content" android:layout_width="wrap_content" />
<ImageView android:src="@drawable/app1" android:layout_height="wrap_content" …Run Code Online (Sandbox Code Playgroud) android android-ui android-layout android-fragments android-viewpager
我有一个ListView内部,我动态填充方法中的列表项getView(),与TextView,和一起组合ImageView.
我需要计算getView中Text和Image视图的大小,所以visibility=gone如果View太大,我将能够设置.我是:
public View getView(int position, View convertView, ViewGroup parent) {
..
View listItem=view.findViewById(R.id.listItem);
ImageView imageView=(ImageView)view.findViewById(R.id.myImg);
TextView textView=(TextView)view.findViewById(R.id.mytxt);
if (imageView.getRight()>listItemText.getRight()) {
imageView.setVisibility(View.GONE);
}
if (textView.getRight()>listItemText.getRight()) {
textView.setVisibility(View.GONE);
}
..
}
Run Code Online (Sandbox Code Playgroud)
但是因为我在里面getView(),所以还没有创建布局的值,所以我得到了View.getRight()调用的错误值.
任何想法如何做到这一点?
我有两个活动,我希望他们各自保持自己的搜索历史建议.那可能吗?他们每个人都有自己的搜索建议提供者,但我看到两个活动都出现了相同的搜索历史记录:
// manifest.xml
<activity
android:name="ActivityA"
...
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable_A" />
</activity>
<activity
android:name="ActivityB"
...
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable_B" />
</activity>
// searchable_A.xml
<searchable
android:searchSuggestAuthority="providerA" />
// searchable_B.xml
<searchable
android:searchSuggestAuthority="providerB" />
Run Code Online (Sandbox Code Playgroud)
保存搜索建议时,我确保为每个活动使用正确的提供程序.
// ActivityA.java
SearchRecentSuggestions suggestions = new SearchRecentSuggestions(ActivityA.this,
providerA.AUTHORITY, providerA.MODE);
suggestions.saveRecentQuery(...);
// ActivityB.java
SearchRecentSuggestions suggestions = new SearchRecentSuggestions(ActivityB.this,
providerB.AUTHORITY, providerB.MODE);
suggestions.saveRecentQuery(...);
Run Code Online (Sandbox Code Playgroud)
由于搜索建议提供者不同,我期望他们每个人都保持不同的历史.这里的用例是我Activity专门用于汽车,Activity专用于食品.我不希望将过去的搜索词混合在一起,它们在不同的上下文中没有意义.
http://developer.android.com/guide/topics/search/adding-recent-query-suggestions.html
我基本上试图VideoView通过在包含的布局上使用动画制作来移动我.但是,视频视图永远不会移动.它的布局移动了,但不是视频本身?
如何移动视频?
这是我到目前为止所拥有的.
该slideleft.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="0%" android:toXDelta="-50%" android:duration="200"
android:fillAfter ="true" android:fillEnabled="true"
android:interpolator="@android:anim/accelerate_decelerate_interpolator" />
</set>
Run Code Online (Sandbox Code Playgroud)
activiy中的动画部分(每次重新初始化的动画师只是为了确保)
public void videoSlideOut(long time){
rn2 = new Runnable(){
public void run() {
Animation SlideLeft = AnimationUtils.loadAnimation(Video.this, R.anim.slideleft);
Animation SlideLeft2 = AnimationUtils.loadAnimation(Video.this, R.anim.slideleft);
((RelativeLayout) findViewById(R.id.video_view_slider)).startAnimation(SlideLeft);
video.startAnimation(SlideLeft2);
}
};
hnd.postDelayed(rn2, time);
}
Run Code Online (Sandbox Code Playgroud) 稍后我将更新一个完整的教程,介绍如何实现WebView内部a ViewPager,但是我得到一个非常奇怪的问题,我不明白如何修复.
以下是我正在运行的实现......
XML:
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/lastLoginText"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_below="@+id/PreferencesButton" >
</android.support.v4.view.ViewPager>
Run Code Online (Sandbox Code Playgroud)
ViewPager实例化对象:
((ViewPager) collection).removeAllViews();
WebView a = webview[position];
((ViewPager) collection).addView(a);
Run Code Online (Sandbox Code Playgroud)
Webview是在单独的(InitWebViews)中设置的
webview[0] = new WebView(this.getApplicationContext());
webview[0].loadUrl("file:///android_asset/test.html");
webview[1] = new WebView(this.getApplicationContext());
webview[1].loadUrl("file:///android_asset/test.html");
webview[2] = new WebView(this.getApplicationContext());
webview[2].loadUrl("file:///android_asset/test.html");
Run Code Online (Sandbox Code Playgroud)
任何想法为什么会这样,或者我如何强迫它viewWidth成为1280?或者我启动WebViews 的方式还有其他问题吗?
android view android-layout android-webview android-viewpager
android ×10
android-ui ×2
layout ×2
listview ×2
adapter ×1
animation ×1
gdata-api ×1
htmlunit ×1
httpclient ×1
https ×1
java ×1
opengl-es ×1
playlist ×1
sliding ×1
surfaceview ×1
view ×1
youtube-api ×1