首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以为不同的屏幕尺寸定义不同的样式

是否可以为不同的屏幕尺寸定义不同的样式
EN

Stack Overflow用户
提问于 2012-02-08 19:54:48
回答 2查看 484关注 0票数 2

我有一个计算扑克赔率的安卓应用程序(如果你感兴趣,可以使用Shufflebot)。它会在屏幕上显示卡片,这些卡片需要足够大才能点击。卡片由CardView类呈现并在布局中声明,如下所示:

代码语言:javascript
复制
<com.shufflebot.view.CardView style="@style/CardView"
    android:id="@+id/flop1"></com.shufflebot.view.CardView>

相应的"CardView“样式在res/values/styles.xml中声明。

代码语言:javascript
复制
<style name="CardView">
    <item name="android:layout_width">40dp</item>
    <item name="android:layout_height">56dp</item>
    <item name="android:layout_marginRight">1dp</item>
</style>

CardView可以绘制成给定的任何尺寸。当应用程序在平板电脑上运行时,会有大量的空白空间,所以我想利用它,让卡片更大,因此更容易点击。

有没有可能定义一个替代的styles.xml来做这件事?例如,我是否可以定义res/values-xlarge/styles.xml (适用于Android 3.2之前的版本)和res/values-sw800dp/styles.xml,我可以在其中定义我的样式的替代版本?更好的是,这个文件可以只包含一个修改过的样式,而Android使用原始的styles.xml来获取其他值吗?

当我在Eclipse中尝试这样做时,我看到红色下划线提示我这是不受支持的。

另一种选择是我可以定义多个版本的cards.xml,例如layout-xlarge/cards.xml,但考虑到布局的其余部分是相同的,并且只需要更改一个元素的大小,这似乎需要大量的维护开销。

那么,像这样缩放一个而不是所有元素的最好方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-15 17:27:33

在看其他东西的时候,我几乎是事后才发现答案的。我根据不同的屏幕大小分离了具有不同样式的元素,即我在每个不同的布局中创建了一个适用于它的card.xml:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<com.shufflebot.view.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/CardViewLarge" >
</com.shufflebot.view.CardView>

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<com.shufflebot.view.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/CardView" >
</com.shufflebot.view.CardView>

然后,我将布局中的实例替换为语句:

代码语言:javascript
复制
<include android:id="@+id/river" layout="@layout/card" />

如果卡片的属性不同于id,这显然是不起作用的,但对我来说并非如此。这意味着相同的布局可以服务于不同的屏幕尺寸。

票数 2
EN

Stack Overflow用户

发布于 2012-02-08 20:48:40

在Android开发人员指南中有一节是关于supporting multiple screens的。

它列出了一些选项,如:

  • 在清单中显式声明应用程序的屏幕大小supports
  • Provide不同屏幕大小的不同布局
  • 为不同屏幕密度提供不同的位图绘图
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9192805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档