Java Android studio图标和文本比例
我尝试使我的应用程序具有不同的分辨率和屏幕大小。对于布局,我使用权重,效果很好,但文本和图标有问题(androidstudio中的矢量资源)。实际上,我对文本(例如20sp)和图标(例如20dp)使用常量值,但当应用程序在另一个移动设备中打开时,图标太小或太大。是否可以在xml文件中按屏幕大小进行缩放Java Android studio图标和文本比例,java,android,xml,android-studio,mobile,Java,Android,Xml,Android Studio,Mobile,我尝试使我的应用程序具有不同的分辨率和屏幕大小。对于布局,我使用权重,效果很好,但文本和图标有问题(androidstudio中的矢量资源)。实际上,我对文本(例如20sp)和图标(例如20dp)使用常量值,但当应用程序在另一个移动设备中打开时,图标太小或太大。是否可以在xml文件中按屏幕大小进行缩放 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://sc
<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"
tools:context="com.hgyghyfghyu.apkana40.TrainerMenu"
android:orientation="vertical"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp">
//
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:background="#000000"
android:layout_marginBottom="10dp"
android:id="@+id/colorsdialogbtn">
</LinearLayout>
//
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:orientation="horizontal">
//
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:id="@+id/trainermenugroupsbtn">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/trainermenugroupsicon"
android:tint="#FFFFFF"
android:layout_centerInParent="true"
android:src="@drawable/trainermenugroupsicon"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@+id/trainermenugroupsicon"
android:textSize="25dp"
android:textStyle="bold"
android:text=""
android:textColor="#FFFFFF"/>
</RelativeLayout>
</LinearLayout>
//
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#000000"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:id="@+id/trainermenutrainersbtn">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/trainermenutrainersicon"
android:tint="#FFFFFF"
android:layout_centerInParent="true"
android:src="@drawable/trainermenutrainersicon"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@+id/trainermenutrainersicon"
android:textSize="25dp"
android:textStyle="bold"
android:text=""
android:textColor="#FFFFFF"/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
//
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
android:orientation="horizontal">
//
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:background="#000000"
android:id="@+id/trainermenuadbtn"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="10dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="10dp">
<ImageView
android:id="@+id/trainermenuadicon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:tint="#FFFFFF"
android:src="@drawable/trainermenuadicon"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/trainermenuadicon"
android:layout_centerHorizontal="true"
android:textSize="15dp"
android:text=""
android:textStyle="bold"
android:textColor="#FFFFFF"/>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp">
//info
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#000000"
android:id="@+id/trainermenuinfobtn"
android:layout_marginRight="10dp"
android:layout_marginBottom="10dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:tint="#FFFFFF"
android:src="@drawable/trainermenuinfoicon"
android:layout_centerInParent="true"/>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="#000000"
android:id="@+id/trainermenusettingsbtn"
android:layout_marginLeft="10dp"
android:layout_marginBottom="10dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:tint="#FFFFFF"
android:layout_centerInParent="true"
android:src="@drawable/trainermenusettingicon"/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
//
//
//
//
//
//
//信息
如果要根据屏幕定义文本大小和图像大小,请根据屏幕大小创建值文件夹并放置dimen.xml文件并定义文本大小和图像大小,请在布局中使用这些值。 1) 价值观 2) hdpi值(320x480、480x800) 3) 大hdpi值(600x1024) 4) 值xlarge(720x1280、768x1280、800x1280、Nexus7、Nexus10) 5) values-sw480dp(5.1英寸WVGA屏幕) 6) xhdpi值(Nexus4,Galaxy Nexus) 并为hdpi、xlarge等放置不同的图像。只创建所需的文件夹。
有关详细信息,请查看嗯,我认为您没有一个好的
xml
设计…如果您的xml设计良好,您的图片将自动缩放我将xml文件放入我的帖子中。你能告诉我哪里不对吗?让我看看,请稍等。是的,我认为你不应该对你的列车组使用相对值,你需要在其他元素中使用相同的值,LinearLayouts
具有weight
属性,您的图像将自动缩放,因此无法获取屏幕大小并将其与xml中的android:scaleX=”“一起使用?不,也并非无法获取屏幕大小,您可以通过编程获得屏幕大小,然后通过编程使用scaleX。您认为在OnCreate中从file.java设置图像大小是个好主意吗?嗯。。。不,这不是个好主意。。。如果可以避免的话,你不需要这样做……不要让设备工作得更正常