我有一个简单的待办事项列表应用程序,其中包含一个黑色加号的按钮,可以将内容添加到列表中。在android 2.2中,black plus看起来像这样:
但是,在Android 4.1中,黑色加号看起来像这样:
加号应该看起来像2.2中那样。这是我的xml适当的片段:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widget78"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
android:focusable="true" android:focusableInTouchMode="true">
<ListView
android:id="@+id/taskslist"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="10" />
<LinearLayout
android:id="@+id/widget83"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp">
<EditText
android:id="@+id/taskname"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:background="@drawable/edittextbackground"
android:layout_marginBottom="0dp"
android:layout_marginLeft="0dp"
android:layout_marginRight="2dp"
android:hint=" Add Something :)"
android:textSize="18sp"
android:windowSoftInputMode="adjustNothing"
android:cursorVisible="true"
android:textColor="#000000"
android:textCursorDrawable="@null"
android:layout_weight="9999999"/>
<!-- android:imeOptions="actionGo"
android:inputType="textImeMultiLine"
-->
<FrameLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content">
<Button
android:id="@+id/addtask"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/small_black_plus"
android:layout_marginBottom="0dp"
android:layout_gravity="center"
android:layout_marginLeft="2dp"
android:layout_marginRight="0dp"
android:text="" />
</FrameLayout>
</LinearLayout>
</LinearLayout>
为什么两个版本的布局看起来不同?我怎样才能让它们看起来一样?
答案 0 :(得分:1)
我认为这可能与您管理资源文件的方式有关。您测试的设备是否具有不同的分辨率?您看到的失真可能是由操作系统自动缩放您放入drawable-mdpi或drawable-hdpi文件夹中的资源以用于xhdpi屏幕。
以下是有关如何管理资源文件的绝佳参考,希望这会有所帮助:
http://developer.android.com/guide/practices/screens_support.html
编辑:
此外,请看一下这个问题:
Difference: android:background and android:src?
正如其他人所说,您可以尝试将Button更改为ImageView。通过设置onClickListener,可以将android中的任何视图用作按钮,方法与使用Button相同。如果您这样做,请尝试使用android:src
属性而不是android:background
设置您的图片可绘制资源。我不认为这是你的问题的原因,因为我不确定Android的不同版本会导致你的视图大小不同,但也许在这两个想法之间,你可以找出有用的东西。
答案 1 :(得分:0)
这是因为4.1中的新TabHost允许“可滚动”选项卡。看看如何水平滚动它?
为了在两个版本的Android上看起来正确,我会使用资源限定符(在文件夹名称中)为不同的API级别创建一个ViewStub,并为不同的选项卡使用相同的ID,但是明确设置你的字体他们不适合的大小(或更改文本,这取决于你)
答案 2 :(得分:0)
或者您可以使用ImageView而不是Button,它们在您的情况下也一样。