【发布时间】:2017-06-16 17:22:20
【问题描述】:
在 xml Design 预览选项卡中进行初始布局设计后,我在目标设备(Samsung Tab A SM-T550)上运行代码。令我惊讶的是,尺寸和比例似乎与预览明显不同,尤其是 TextViews 和 Button。我注意到最大的区别在于 字体大小(即屏幕截图上的标题)。
我的配置是:
开始在 AVD 中添加与屏幕尺寸 (9,7")、分辨率 (1024x768)、密度 (ldpi) 相对应的自定义虚拟设备>) 等。 对于布局,我设置了一个 .xml 文件,并在 Design 预览选项卡中选择了新创建的设备配置文件。
我已经仔细检查了分辨率、尺寸和 API 级别设置。我在开发 Android 智能手机时没有遇到这样的问题。好像我在这里遗漏了一些重要的东西,你有什么线索吗?
Layout.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/bialy"
tools:context="pl.skaner.activity.ShowResultActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/title_label"
tools:text="@string/title_stack"
android:layout_marginBottom="10dp"
android:layout_marginTop="40dp"
android:textSize="50sp"
android:textColor="@color/czarny" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:id="@+id/outer_content">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_height="wrap_content"
android:id="@+id/inner_content">
<LinearLayout
android:id="@+id/transaction_p1"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_margin="20dp"
android:background="@drawable/custom_border">
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/transaction_name"
tools:text="SOME TEXT"
android:layout_gravity="center_horizontal"
android:textColor="@color/czarny"
android:textSize="50sp"
android:layout_margin="10dp" />
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/transaction_client"
tools:text="DIFFERENT\nTEXT"
android:layout_gravity="center_horizontal"
android:textSize="35sp"
android:textColor="@color/czarny"
android:layout_margin="10dp" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp"
android:layout_margin="5dp">
<TextView
android:text="TextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/booked_foreign"
android:layout_gravity="center"
tools:text="100"
android:textSize="50sp"
android:textColor="@color/czarny"
android:layout_margin="10dp"
android:padding="50dp" />
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:padding="5dp">
<TextView
android:text="TextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/booked_symbol"
tools:text="USD"
android:textSize="50dp"
android:textColor="@android:color/black"
android:layout_margin="10dp" />
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/usd"
android:id="@+id/booked_flag" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/transaction_p2"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/transaction_p1"
android:layout_centerHorizontal="true"
android:layout_margin="20dp"
android:background="@drawable/custom_border">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:padding="5dp"
android:id="@+id/booked_result">
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/booked_rate"
tools:text="4,2345"
android:textSize="50sp"
android:textColor="@color/czarny"
android:layout_margin="10dp" />
<Space
android:layout_width="50dp"
android:layout_height="match_parent" />
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/booked_national"
tools:text="4234,00"
android:textSize="50sp"
android:textColor="@color/czarny"
android:layout_margin="10dp" />
</LinearLayout>
<TextView
android:text="NOWY LEPSZY KURS:"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/new_result_comment"
android:textSize="36sp"
android:textColor="@android:color/black"
android:gravity="center"
android:visibility="gone" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:padding="5dp"
android:id="@+id/new_result"
android:visibility="gone">
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/new_rate"
tools:text="4.234"
android:textSize="50sp"
android:textColor="@color/czarny"
android:layout_margin="10dp" />
<Space
android:layout_width="50dp"
android:layout_height="match_parent" />
<TextView
android:text="TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/new_national"
tools:text="4234,00"
android:textSize="50sp"
android:textColor="@color/czarny"
android:layout_margin="10dp" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
</RelativeLayout>
<Button
android:text="Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/back_button"
android:layout_gravity="center_horizontal"
android:textSize="50sp"
android:padding="20dp"
android:layout_margin="15dp" />
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/bialy"
android:id="@+id/netdots"
android:orientation="horizontal"
android:layout_margin="10dp">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:id="@+id/imgGreenDot"
android:src="@drawable/green_dot"
android:visibility="invisible" />
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:id="@+id/imgRedDot"
android:src="@drawable/red_dot"
android:visibility="invisible" />
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/progressBar"
android:max="20"
android:progress="0" />
<TextView
android:layout_width="wrap_content"
android:text="20 s."
android:textSize="36sp"
android:layout_marginLeft="25dp"
android:id="@+id/counter_label"
android:textColor="@color/czarny"
android:layout_height="wrap_content"
android:textAlignment="textEnd">
</TextView>
</LinearLayout>
</LinearLayout>
AndroidManifest.xml:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="pl.skaner"
android:installLocation="auto"
android:versionCode="1"
android:versionName="0.7.1">
<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="23" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.usb.accessory" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@drawable/icon"
android:label="Skaner"
android:largeHeap="true"
android:theme="@style/Theme.AppCompat">
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.gms.vision.DEPENDENCIES"
android:value="barcode,face" />
<activity
android:name=".activity.MultiTrackerActivity"
android:icon="@drawable/icon"
android:label="Skaner"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activity.ShowResultActivity"
android:label="Skaner"
android:parentActivityName=".activity.MultiTrackerActivity"
android:screenOrientation="portrait"
android:theme="@style/Theme.AppCompat.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="pl.skaner.activity.MultiTrackerActivity" />
</activity>
<activity
android:name=".activity.SettingsActivity"
android:label="Skaner Ustawienia"
android:screenOrientation="portrait" />
<service
android:name=".MainService"
android:enabled="true"
android:exported="false" />
</application>
</manifest>
【问题讨论】:
标签: android android-layout android-studio textview android-linearlayout