2

这似乎是一个非常基本的问题,但我似乎无法弄清楚。我已经阅读了大量有关如何使 android 可扩展到大屏幕和小屏幕的内容。

我有一个专为平板电脑设计的应用程序,在那里运行良好。但是,当我在使用移动(电话)版本时,我想确保如果有人在电话上打开它,它至少看起来“还不错”。

除了按钮之外,每个人的缩放都很棒......我似乎无法让按钮缩放。

它们在 Tab 上看起来很棒……但在手机上,它们占据了整个屏幕。

感谢您的帮助。

这是代码:

主.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/main_landscape"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/main_menu_plus_landscape"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button_list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="38dp"
        android:layout_marginTop="200dp"
        android:background="@layout/button_main_selector"
        android:padding="40dp"
        android:text="@string/main_start_list"
        android:textColor="@color/white"
        android:textSize="30dp"
        android:typeface="sans"/>


    <Button
        android:id="@+id/button_emulator"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/adview"
        android:layout_alignLeft="@+id/button_list"
        android:layout_alignRight="@+id/button_list"
        android:layout_marginBottom="168dp"
        android:background="@layout/button_main_selector"
        android:padding="40dp"
        android:text="@string/main_start_emulator"
        android:textColor="@color/white"
        android:textSize="30dp"
        android:typeface="sans" />

</RelativeLayout>

布局/button_main_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Button Focused-->
    <item   android:state_focused="true"
            android:state_pressed="false"
            android:drawable="@drawable/main_buttons_selected"
            />
<!-- Button Focused Pressed-->
    <item   android:state_focused="true"
            android:state_pressed="true"
             android:drawable="@drawable/main_buttons_selected"
            />
<!-- Button Pressed-->
    <item   android:state_focused="false"
            android:state_pressed="true"
            android:drawable="@drawable/main_buttons_selected"
            />
<!-- Button Default Image-->
    <item   android:drawable="@drawable/main_buttons"/>

</selector>

可绘制-hdpi/main_buttons.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
 <solid android:color="#71bbe3"/> 
    <corners
     android:bottomRightRadius="10dp"
     android:bottomLeftRadius="10dp"
      android:topLeftRadius="10dp"
      android:topRightRadius="10dp"/>
</shape>

我还尝试将我的按钮文件放入“可绘制”中,但这似乎没有帮助。有什么建议么?(注意:我的按钮只是纯色,没有图像)

res/drawable/main_buttons.xml

res/drawable/main_buttons_selected.xml

res/drawable/button_main_selector.xml
4

4 回答 4

0

根据您提供的信息,我预测问题是,您只在 Hdpi 中提供了按钮。因此,当您在手机中运行应用程序时,按钮取自 hdpi,这会使手机看起来很奇怪。这可以通过在drawable或ldpi中给出按钮来解决。它将适合电话屏幕。这可能是您的问题。

于 2012-10-15T05:08:12.317 回答
0

你只需要把你的两个xml都放进去drawable

drawable通过在项目的 res 中创建一个名为的文件夹

res/drawable/main_buttons.xml

res/drawable/button_main_selector.xml
于 2012-10-15T05:10:59.470 回答
0

我看过你的代码,首先我会告诉你,你应该发布你想要什么样的视图的图片,其次是你给出的

android:layout_marginRight="38dp"

android:layout_marginTop="200dp"

在你的第一个按钮代码中,&在你的第二个按钮中,你已经给了这样的边距

android:layout_marginBottom="168dp"

其他一切都取决于您要实现哪种设计的布局。

我对你的建议是永远不要特别从左到右的方向给出边距。因为例如,如果你从左边到 50px 的边距在普通设备中看起来还不错,而在高分辨率设备中看起来不太好,因为它在任何分辨率下都需要 50px device.instead 使用这种语法 android:alignParentLeft=true 并且总是习惯在你的相对布局中使用这种语法。使用这种语法,您的元素将始终位于您想要的位置..goto android 开发者网站并检查线性布局和相对布局之间有什么区别,以及线性和相对布局的不同属性是什么,研究所有属性,例如 的含义fill_parentwrap_content&match_parent超过 100% 你会得到解决方案。如果你有任何查询而不是加入我在这里https://chat.stackoverflow.com/rooms/13436/smart-phones-developer你可以在这里问我你的问题。我会建议你发布你的图片

谢谢阿米尔汗我。

于 2012-10-15T05:21:05.680 回答