我正在为手机和平板电脑开发应用程序,问题是我需要在设备上运行的应用程序2.3.3安卓版本(我认为API等级10),其中大部分设备都使用2.7英寸的屏幕,所以我尝试将应用程序安装到这个屏幕和4英寸屏幕,现在的东西是平板电脑...应用程序非常简单,我只是在一个带有一些TextViews和Edittexts的scrollview中使用TableLayout;对于最小的屏幕,它可视化很好,但在平板电脑中看起来不太好,屏幕的一半被浪费了,我只是希望textviews和Edittext占据整个屏幕...我把应用程序只在肖像上的清单上模式。另外,我正在使用android studio ...这里是活动的xml:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true"
android:background="@drawable/logixbackground">
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".GPSActivity"
>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="@string/txvwTittle"
android:id="@+id/txtVwTitulo"
android:textSize="18sp"
android:textColor="#c61d11"
android:inputType="none"
android:layout_column="0"
android:focusable="false"
android:textStyle="bold" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginBottom="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/tv_velocimetro"
android:id="@+id/txtVwVelocimetro"
android:layout_column="0"
android:layout_marginTop="10dp"
android:focusable="false"
android:textStyle="bold"
android:textSize="20dp" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:layout_width="150dp"
android:layout_height="38dp"
android:id="@+id/edTxtVelocidad"
android:layout_gravity="left"
android:inputType="none"
android:clickable="false"
android:editable="false"
android:focusable="false"
android:background="@drawable/abc_ab_transparent_dark_holo"
android:textStyle="bold"
android:textColor="#c61d11"
android:singleLine="false"
android:layout_marginTop="10dp" />
<EditText
android:layout_width="140dp"
android:layout_height="38dp"
android:id="@+id/edTxtVelMedida"
android:inputType="none"
android:layout_marginLeft="10dp"
android:clickable="false"
android:editable="false"
android:focusable="false"
android:background="@drawable/abc_ab_transparent_dark_holo"
android:textColor="#c61d11"
android:textStyle="bold"/>
</TableRow>
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tv_brujula"
android:id="@+id/txtVwBrujula"
android:layout_column="0"
android:layout_marginTop="5dp"
android:textSize="20sp"
android:inputType="none"
android:focusable="false"
android:textStyle="bold"/>
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow>
<EditText
android:layout_width="150dp"
android:layout_height="38dp"
android:id="@+id/edTxtBrujula"
android:layout_column="0"
android:inputType="none|number"
android:focusable="false"
android:background="@drawable/abc_ab_transparent_dark_holo"
android:textStyle="bold"
android:textColor="#c61d11"/>
<EditText
android:layout_width="140dp"
android:layout_height="38dp"
android:id="@+id/edTxtBrujdireccion"
android:layout_marginLeft="10dp"
android:inputType="textCapCharacters|none"
android:focusable="false"
android:background="@drawable/abc_ab_transparent_dark_holo"
android:textStyle="bold"
android:textColor="#c61d11"/>
</TableRow>
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/tvgeopos"
android:id="@+id/txtVwGeoPos"
android:layout_column="0"
android:layout_marginTop="5dp"
android:inputType="none"
android:focusable="false"
android:textStyle="bold"
android:textSize="20dp" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txtvw_latitud"
android:id="@+id/txtVwLatitud"
android:layout_column="0"
android:layout_marginTop="5dp"
android:inputType="none"
android:focusable="false"
android:textStyle="bold"
android:textSize="18dp" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:layout_width="match_parent"
android:layout_height="38dp"
android:id="@+id/edTxtLatitud"
android:layout_column="0"
android:focusable="true"
android:textStyle="bold"
android:textColor="#c61d11"
android:enabled="true"
android:editable="true"
android:focusableInTouchMode="false"
android:background="@drawable/abc_ab_transparent_dark_holo"
android:inputType="number" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/txtvw_longitud"
android:id="@+id/txtVwLongitud"
android:layout_column="0"
android:layout_marginTop="5dp"
android:inputType="none"
android:textSize="18dp"
android:focusable="false"
android:textStyle="bold"/>
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<EditText
android:layout_width="match_parent"
android:layout_height="38dp"
android:id="@+id/edTxtLongitud"
android:layout_column="0"
android:focusable="true"
android:background="@drawable/abc_ab_transparent_dark_holo"
android:textStyle="bold"
android:textColor="#c61d11"
android:enabled="true"
android:editable="true"
android:focusableInTouchMode="false"/>
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_agregar_punto_interes"
android:id="@+id/btnPuntoInteres"
android:layout_column="0"
android:textStyle="bold"
android:layout_marginTop="5dp"
android:textSize="15dp" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_ver_punto_interes"
android:id="@+id/btnVerPuntoInteres"
android:layout_column="0"
android:textStyle="bold"
android:textSize="15dp" />
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow>
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="@string/btn_panico"
android:id="@+id/btnPanico"
android:layout_column="0"
android:textStyle="bold"
android:textSize="15dp"
android:textColor="#b2000c" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:text="@string/btn_ir_logix"
android:id="@+id/btnIrLogix"
android:textStyle="bold"
android:textSize="15dp" />
</TableRow>
</TableRow>
</TableLayout>
</ScrollView>
这是最好的方法,或者我必须制作独立的应用程序,一个用于平板电脑,一个用于手机?
感谢您的建议!
答案 0 :(得分:1)
我认为你应该从reading the documents开始,这清楚地说清楚你应该做些什么。
如果不这样,tl; dr版本就可以为同一个Activity
/ Fragment
设置多个布局 - 一个用于小屏幕尺寸,一个用于大屏幕。
答案 1 :(得分:1)
你可以创建两个布局,一个是小屏幕手机将使用的默认布局,其xml文件将位于标准布局文件夹中,第二个将用于平板电脑,它应该在文件夹布局中 - sw600dp 。
你应该做的是将你当前的手机优化布局复制到这个新文件夹布局-sw600dp并调整它直到它在平板电脑上看起来不错。
实际上,如果它在手机上看起来不错,你应该能够调整它,这样它在平板电脑上看起来会很好。保持一种布局总是更好。
答案 2 :(得分:1)
答案 3 :(得分:0)
不确定这是否有帮助,但我注意到在图形布局中如果使用Android Studio,它可以选择制作横向布局。它位于窗口左侧的下拉列表中,该窗口具有xml布局的“设计”选项卡。下拉列表中的第一个选项是“创建景观变化”。希望有所帮助。虽然您可能仍需要重新设计更广泛的屏幕。