我试图在我的Android应用程序的所有视图中始终使用相同的维度(例如,左边距为20dp).如果我使用HTML,我只会使用CSS文件,但我不知道如何在Android上执行此操作.
有没有办法可以将这个值存储在res/values中的xml文件中,然后在布局中使用它?
例如,我想将它们存储在strings.xml中
<string name="app_wide_left_padding">20dp</string>
Run Code Online (Sandbox Code Playgroud)
然后在layout.xml中使用以下文本
android:paddingLeft="@string/app_wide_left_padding"
Run Code Online (Sandbox Code Playgroud)
但我不确定它会奏效.我是在正确的轨道上吗?
提前感谢您的回答.
我RatingBar在我的ListView项目的应用程序中实现了自定义.自定义样式ratingbar_red.xml:
<?xml version="1.0" encoding="UTF-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background" android:drawable="@drawable/star_off" />
<item android:id="@android:id/secondaryProgress" android:drawable="@drawable/star_on" />
<item android:id="@android:id/progress" android:drawable="@drawable/star_on" />
</layer-list>
Run Code Online (Sandbox Code Playgroud)
这是ListItem布局的一部分:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="15dp" >
<RatingBar
android:id="@+id/li_company_rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginBottom="1dp"
android:isIndicator="true"
android:numStars="5"
android:progressDrawable="@drawable/ratingbar_red"
android:stepSize="1" />
<Button
android:id="@+id/li_company_callbtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="0dp"
android:layout_marginLeft="40dp"
android:contentDescription="@string/ContentDescription"
android:drawableLeft="@drawable/phone_icon"
android:drawablePadding="5dp"
android:onClick="callbtn_Click"
android:text="@string/CallButton"
android:focusable="false"
android:focusableInTouchMode="false" >
</Button>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
它可以工作,但是当设置评级时,我会得到一些奇怪的图像工件; 粉红色星星下面有2条垂直线出现在我的视图中:

这是star_on.png

star_off.png看起来没问题,如果评级== 0,则不显示这些行.
我是android初学者,无法理解问题所在.