小编eka*_*atz的帖子

Android:创建父布局并扩展它以在应用程序的所有活动中保持相同的外观

我正在编写一个应用程序,其中我有多个屏幕,我想坚持某个主题.例如:所有屏幕应该具有相同的背景,所有屏幕顶部应该有一个条形图,具有相同的动作集(不一定取决于当前显示的活动),并且所有屏幕应该共享相同的字体.有没有办法在android中创建一个所有其他布局扩展的父布局,因此如果我需要更改一些元素(比如背景颜色),我不必在每个单独的屏幕上进行,而只是在父屏幕上.我想我要问的是,android中有一种布局继承吗?

谢谢,e.

layout user-interface inheritance android

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

android:imageview里面的按钮

我需要能够在我的布局中显示一个按钮,但我希​​望按钮在其中有一个图像(小图标)和文本.

something like this:
  ___________________
 / ***   SOME TEXT  /
/_**_______________/
Run Code Online (Sandbox Code Playgroud)

其中*s是图像

所以我想做的是一个带背景的线性布局并使其可点击 - 这可能会起作用,但这意味着它的行为不会像按钮那样......

你对如何做到这一点有更好的想法吗?

谢谢,e.

user-interface android

7
推荐指数
1
解决办法
6974
查看次数

Android:android 编译时验证是否通过了 Intent Extras

我想知道是否有人曾经创建过某种系统可以检查编译时是否传递了意图附加项?我传递额外内容是为了开始另一个活动,它告诉另一个活动如何表现

(例如:

Intent i = new Intent(CurrentActivity.this, OtherActivity.class);
i.putExtra("ShowOverlay", false);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)

)

问题是我不希望未来几代的开发人员在没有发送这个意图的情况下开始这个活动,因为没有定义的默认行为,

我认为使用某种注释可以做到这一点,但可能很困难,因为在编译时跟踪意图对象可能是一项不可能完成的任务。只是想知道是否有人想过这一点,这在理论上是否可行。

android annotations compiler-errors android-intent

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

Android:使用主页按钮留下应用程序,并在长按主页按钮时返回到不同的活动

我有一个使用蓝牙的应用程序,如果在设备上关闭蓝牙,则无法访问.

我选择实现这个的方式如下:

  1. 创建了一个调度程序活动,该活动在首次启动应用程序时启动.
  2. 这个活动会检查蓝牙的状态,如果bt关闭,它会发送给你noBtScreen,如果它打开,它会带你到yesBtScreen

问题是,当用户到达noBtScreen然后点击主页按钮时,更改bt状态并返回到应用程序(通过长按主页按钮并选择我的应用程序)它到达noBtScreen它不应该到达的地方在此刻.

有明显天真的方法可以解决这个问题,例如,我可以检查活动中的bt状态onResume,但我认为应该在这里使用"正确"的解决方案.

我特意尝试了清单文件中的一些活动设置,我尝试将以下标志放在NoBtTask:
android:finishOnTaskLaunch
android:allowTaskReparenting组合而不是与
android:clearTaskOnLaunch
android:alwaysRetainTaskState

我也尝试将this.finish添加到noBtActivity::onStop方法中,但这也没有帮助(当时发生的事情是我进入了一次,下了车,当我再次进入时,什么都没发生,我留在主屏幕上,当时我再试一次,它确实把我带到了调度员活动,有趣的是看到这个日志:

09-21 17:54:49.511:INFO/ActivityManager(115):从pid 12603开始:Intent {cmp = com.test.elad/.NoBtActivity}

09-21 17:54:49.523:ERROR/Elad(12603):NoBtActivity.onCreate

09-21 17:54:49.527:ERROR/Elad(12603):NoBtActivity.onStart

09-21 17:54:49.527:ERROR/Elad(12603):NoBtActivity.onResume

09-21 17:54:49.765:INFO/ActivityManager(115):显示com.test.elad/.NoBtActivity:+ 248ms

09-21 17:54:51.867:ERROR/Elad(12603):NoBtActivity.onSaveInstanceState

09-21 17:54:51.867:ERROR/Elad(12603):NoBtActivity.onPause

09-21 17:54:51.867:INFO/ActivityManager(115):开始:Intent {act = android.intent.action.MAIN cat = [android.intent.category.HOME] flg = 0x10200000 cmp = com.android.launcher来自pid 115的/com.android.launcher2.Launcher}

09-21 17:54:51.882:VERBOSE/RenderScript_jni(195):surfaceCreated

09-21 17:54:51.882:VERBOSE/RenderScript_jni(195):surfaceChanged

09-21 17:54:52.277:ERROR/Elad(12603):NoBtActivity.onStop

09-21 17:54:56.183:INFO/ActivityManager(115):开始:意图{act = android.intent.action.MAIN cat = [android.intent.category.LAUNCHER] flg = 0x10100000 cmp = com.test.elad来自pid 115的/.DispatcherActivity} …

android android-manifest android-layout

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

Android资源 - 哪些分辨率应该进入hdpi,ldpi,mdpi和xhdpi目录

我正在尝试编写一个适用于所有屏幕尺寸的应用程序,因为我让我的图形设计师为每个目录生成所请求的dpis图像(低密度(120),ldpi,中密度(160), mdpi,高密度(240),hdpi,超高密度(320),xhdpi)然而,他们想知道每个图像应该是哪个分辨率和宽高比,环顾android文档后,即:1)http:/ /developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources 2)http://developer.android.com/guide/practices/screens_support.html我想出了以下信息:它不是确切的说,Android支持3种屏幕尺寸,android是一款可以在任何屏幕尺寸上虚拟运行的操作系统,但有些屏幕尺寸比其他尺寸更常见,这些在下表中展示(取自http://developer.android) .com/guide/practices/screens_support.html)

表1. Android SDK中包含的模拟器外观的屏幕大小和密度.低密度(120),ldpi中密度(160),mdpi高密度(240),hdpi超高密度(320),xhdpi小屏幕QVGA(240x320)
普通屏幕WQVGA400(240x400)WQVGA432(240x432)HVGA(320x480)WVGA800 (480x800)WVGA854(480x854)
大屏幕WVGA800*(480x800)WVGA854*(480x854)
超大屏幕

值得注意的是,尽管这些屏幕尺寸之间似乎没有相关性,但三种密度之间存在3:4:6的缩放比例,因此ldpi中的9x9位图在mdpi中为12x12,在hdpi中为18x18(参见http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources).

我们可以在这里看到有关屏幕尺寸含义的更多信息:

屏幕尺寸•小:屏幕基于低密度QVGA屏幕上的可用空间.考虑到纵向HVGA显示器,它具有相同的可用宽度但较少的高度 - 与HVGA的2:3宽高比相比为3:4.例子是QVGA低密度和VGA高密度.•normal:基于传统中密度HVGA屏幕的屏幕.如果屏幕至少是这个尺寸(与密度无关)并且不大,则认为屏幕是正常的.这种屏幕的例子是WQVGA低密度,HVGA中密度,WVGA高密度.•large:基于中密度VGA屏幕上可用空间的屏幕.与HVGA显示器相比,这种屏幕在宽度和高度上具有明显更多的可用空间.例子是VGA和WVGA中密度屏幕.•xlarge:比传统中密度HVGA屏幕大得多的屏幕.在大多数情况下,具有超大屏幕的设备太大而无法放入口袋中,并且很可能是平板式设备.在API级别9中添加.

我们还可以支持特定的宽高比,如下所示:

屏幕方面•长:长屏幕,如WQVGA,WVGA,FWVGA•不长:不长的屏幕,如QVGA,HVGA和VGA

- 然而,所有这些都不足以回答关于这些图像的分辨率应该是什么的简单问题 - 它们是否可以从相同的高分辨率图像中切割出来,还是应该从每个dpi重新完成,因为纵横比是不同的?请帮助,这是举起我的项目谢谢!

graphics android resolution dpi

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

有没有办法以编程方式禁用特定布局中的所有项目?

我有一个游戏,我最近添加了一个全局高分功能,这让很多人感到不安,所以我想添加禁用它的选项.我做的是这样的:在我的设置活动视图中,我添加了以下内容:

<!-- High Score Tracking -->
 <LinearLayout android:layout_weight="40"
  android:layout_width="fill_parent" android:layout_height="wrap_content"
  android:orientation="vertical" android:padding="5dip">
  <LinearLayout android:layout_width="fill_parent"
   android:layout_height="wrap_content">
   <CheckBox android:text="@string/EnableHighscoreCBText"
    android:id="@+id/EnableHighscoreCB" android:layout_width="fill_parent"
    android:layout_height="wrap_content">
   </CheckBox>
  </LinearLayout>
  <!-- High score specific settings -->
  <LinearLayout android:layout_width="fill_parent"
   android:layout_height="wrap_content" android:orientation="horizontal"
   android:weightSum="100" android:padding="5dip">
   <CheckBox android:text="@string/EnableShareScoresCBText"
    android:id="@+id/EnableShareScoresCB" android:layout_width="fill_parent"
    android:layout_height="wrap_content">
   </CheckBox>

   <TextView android:id="@+id/DefaultPlayerNameTv"
    android:layout_width="wrap_content" android:layout_weight="30"
    android:layout_height="wrap_content" android:text="@string/pDefName"
    android:textSize="18sp">
   </TextView>
   <EditText android:id="@+id/PlayerNameEt"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:text="@string/pNameDefVal" android:layout_weight="70"
    android:textSize="18sp" android:maxLength="20">
   </EditText>
  </LinearLayout>
 </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我想要做的是当用户取消选中启用高分记跟踪复选框时,禁用整个"高分特定设置"布局.我尝试通过将其设置setEnabled为false来禁用它,但这根本不起作用.我应该使用视图组还是其他什么?我应该运行刷新方法来应用更改吗?

user-interface android

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

在Android上有pandora的开发者api吗?

我环顾四周但却找不到一个,想知道是否有人知道这样的api?基本上我希望能够从我在Android上的应用程序切换歌曲并在pandora上播放歌曲.

api android pandora

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