我需要创建一个Android应用程序,它包含在Unity3d(动画等)和AndroidSDK上编写的部分(通过androidSDK,我的意思是很少用java,manifest和资源编写的活动)
事实上我已经有了这些部分(至少模拟已经准备好了=))我无法弄清楚如何在它们之间进行通信.
我已经阅读了很多关于unity3d android集成的文章(主要是关于称为"插件"的东西)并且无法理解这个人员的工作原理=(我理解的主要内容(每个人都知道官方参考文章写过)是关于插件的文档非常差... =)
我能理解的唯一通信方式是使用unity3d脚本(使用AndroidJavaClass和AndroidJavaObject)进行意图(广播),这样我的活动(用java编写)就可以处理它.但有些东西告诉我这不是最好的解决方案......
我读到的问题是我需要使用JNI(这是java本机接口 - 为什么?!? - 为什么我需要使用本机代码?)
我是否需要在java上创建一些中级代码,目的是与我的java活动进行通信,使用AndroidNDK编译它并作为插件包含在我的Unity3d项目中?我怎么能写中间层呢?我是否需要使用UnityPlayer而不是"Activity"作为基类?为什么?
在我的应用程序中,我有一些对象,它们的位置使用标记显示在地图上.问题是,我发现处理标记点击的唯一方法是
googleMap.setOnMarkerClickListener(new ... {
@Override
public void onMarkerClick(Marker marker) {
// how to get the object associated to marker???
}
})
Run Code Online (Sandbox Code Playgroud)
换句话说,我得到Marker对象,而我唯一的接口允许我只设置MarkerOptions.
有什么方法可以将Marker与一个对象相关联?
我正在尝试使用fragments在平板电脑上移植我的应用程序来重写现有项目.
我正在取代活动fragments.
问题是我不知道setContentView方法的等价物是什么?Fragment's除了重写之外,有没有办法创建视图onCreateView?
由于某些原因,我不能使用xml布局文件.
但我需要创建一个平板电脑Android应用程序.
我决定使用碎片.
我想创建此xml生成的相同布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<fragment class="com.example.ItemsList"
android:id="@+id/items_list" android:layout_weight="1"
android:layout_width="0dp" android:layout_height="fill_parent" />
<FrameLayout android:id="@+id/item_details" android:layout_weight="1"
android:layout_width="0dp" android:layout_height="fill_parent"
android:background="?android:attr/detailsElementBackground" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
但我在向linearLayout添加片段时遇到问题:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(createUI());
}
private View createUI() {
LinearLayout layout = new LinearLayout(this);
layout.setOrientation(LinearLayout.HORIZONTAL);
layout.setLayoutParams(new LinearLayout.LayoutParams(AbsListView.LayoutParams.FILL_PARENT, AbsListView.LayoutParams.FILL_PARENT));
layout.setId(0x101);
{
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.add(0x101, new ItemsList());
fragmentTransaction.add(0x101, new ItemDetails());
fragmentTransaction.commit();
}
return layout;
}
Run Code Online (Sandbox Code Playgroud)
实际上我甚至无法使用两个相同的片段创建LinearLayout:
...
fragmentTransaction.add(0x101, new ItemsList());
fragmentTransaction.add(0x101, new ItemsList());
...
Run Code Online (Sandbox Code Playgroud)
请帮忙
顺便说一句我无法弄清楚为什么我们需要为itemDetails片段声明"FrameLayout",但"fragment"对于itemsList ListFragment来说已经足够了?
UPD:
为此,我们应该添加第三个参数: …
我有一个SplitView模板项目.我想在RootViewController中的用户选择项上更改DetailView.
事实上,我不能只改变视图中的内容(DetailView),就像在模板中完成一样(在创建项目时检查"使用核心数据存储").我想在整个视图之间切换.
我试过了:
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
[appDelegate.detailViewController setView:curretnDetailViewController.view];
appDelegate.detailViewController = currentDetailViewController;
Run Code Online (Sandbox Code Playgroud)
顺便说一下我不明白为什么我需要第2行(..setView:..)?为什么分配detailViewController(第3行)是不够的? - 代码看起来很糟糕=(
但无论如何,这并不完全符合我的要求.除detailView之外的所有内容都会消失.就像我改变了主视图,而不仅仅是DetailViewController
我想我应该在splitViewController中更改一些内容但是没有找到什么=(
感谢您的关注.
我正在尝试用字典创建一个光学字符识别系统.
事实上我还没有实现的字典=)
我听说有基于Levenstein距离的简单度量,它考虑了不同符号之间的不同距离.例如,'N'和'H'彼此非常接近,d("剧院","TNEATRE")应该小于d("THEATRE","TOEATRE"),这是使用基本Levenstein距离不可能的.
请帮您点一下这个指标.
坦克引起注意.
我现在正在尝试创建自己的文本面板(带代码突出显示等).
事实上,除了一件事之外,一切都准备好了 - 滚动
我做了什么:创建UIScrollView并插入我自己的视图作为subview使用接口构建器.
在ViewController viewDidLoad方法中,我将初始textfield大小指向UIScrollView内容大小.
当用户在我的文本字段中写入太多内容时.我呼叫委托(这是ViewController)改变大小.要做到这一点,我只需写
[scrollView setContentSize:newSize];
Run Code Online (Sandbox Code Playgroud)
而我得到的是增加滚动视图而不是我的文本字段 - 只显示空白行.我想我也需要设置我的视图大小,但我无法弄清楚如何...
我的问题的第二部分:每当我调用[textField setNeedsDisplay]它时,调用drawRect:矩形的方法,它等于我的视图的整个大小(比它的可见部分大得多).如果我尝试使用我的视图修改大小超过3 MB的文件,它会是什么样子?如何强制它仅重绘可见部分?
感谢您的关注.
我的应用程序有一个自定义thumbOffset的搜索栏.它在某些设备上运行不正确(例如我自己的三星Galaxy GIO Android 2.3.3)
(我的应用程序是为Android 2.1构建的,我无法更改它)
我用一个搜索栏制作了一个简单的应用程序,没有别的 - thumbOffset仍然无法在我的手机上运行(但在其他一些设备上正常工作 - 请参阅UPD):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:a="http://schemas.android.com/apk/res/android"
a:orientation="vertical"
a:layout_width="fill_parent"
a:layout_height="fill_parent">
<SeekBar a:id="@+id/lights_downwash_slider"
a:layout_width="280dp"
a:layout_height="wrap_content"
a:layout_gravity="center_horizontal"
a:layout_margin="5dp"
a:thumbOffset="-15dp"
a:maxHeight="20dp"
a:minHeight="20dp"
a:progress="0"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
有没有人有同样的问题,并有解决方案?
UPD:在三星Nexus(android 4.0.4),仿真器2.3和4.0.3上正常工作
不适用于模拟器2.1和三星Galaxy Gio(2.3.3)
我正在尝试在我的应用中使用新的Android地图.
我有一个FragmentActivity布局包含(除其他外):
<LinearLayout a:id="@+id/fragment_container"
a:layout_width="fill_parent"
a:layout_height="100dp"
a:layout_weight="1"/>
Run Code Online (Sandbox Code Playgroud)
它还有一个按钮,用于更改此片段(主要从示例项目中复制):
if (condition) {
fragment = new Fragment1();
} else {
fragment = new LocationFragment();
}
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.fragment_container, fragment);
fragmentTransaction.commit();
Run Code Online (Sandbox Code Playgroud)
和LocationFragment是:
public class LocationFragment extends SupportMapFragment{
private GoogleMap mMap;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
view = inflater.inflate(R.layout.map_fragment, container, false);
setUpMapIfNeeded();
return view;
}
@Override
public void onResume() {
super.onResume();
setUpMapIfNeeded();
}
private void setUpMapIfNeeded() {
// Do a …Run Code Online (Sandbox Code Playgroud) 用旧手机拍摄的照片因闪光灯而导致我们的眼睛发红。如今,它们会自动删除,无需任何手动操作。
出于某种原因,我需要这些“原始的”红眼睛。
我的问题是 - 现代 ios api 是否允许与红眼睛的人合影?还是完全隐藏在摄像头芯片中?如果可以的话这个api是什么?
我花了很多时间试图了解这是否可能。如果您可以帮助我从应用程序商店获取现有的应用程序(作为可能的证据)
android ×6
ios ×2
iphone ×2
objective-c ×2
android-maps ×1
metrics ×1
ocr ×1
plugins ×1
uiscrollview ×1