我的活动fullscreen.xml有这个摘录,它完全按我想要的方式工作,产生小数对齐的输出:
<linearLayout androID:orIEntation="vertical" androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent" androID:layout_gravity="center_horizontal|top" androID:gravity="center"> <TextVIEw androID:layout_wIDth="140dp" androID:layout_height="24dp" androID:text="-0.123" androID:ID="@+ID/acc_x" androID:layout_gravity="center_horizontal|top" androID:text@R_301_6004@="#ffffff" androID:gravity="center_vertical|end" androID:layout_margin="0dp" /> <TextVIEw androID:layout_wIDth="140dp" androID:layout_height="24dp" androID:text="0.123" androID:ID="@+ID/acc_y" androID:layout_gravity="center_horizontal|top" androID:text@R_301_6004@="#ffffff" androID:gravity="center_vertical|end" androID:layout_margin="0dp" /> <TextVIEw androID:layout_wIDth="140dp" androID:layout_height="24dp" androID:text="99.123" androID:ID="@+ID/acc_z" androID:layout_gravity="center_horizontal|top" androID:text@R_301_6004@="#ffffff" androID:gravity="center_vertical|end" androID:layout_margin="0dp" /> <TextVIEw androID:layout_wIDth="140dp" androID:layout_height="24dp" androID:text="99.123" androID:ID="@+ID/acc_T" androID:layout_gravity="center_horizontal|top" androID:text@R_301_6004@="#ffffff" androID:gravity="center_vertical|end" androID:layout_margin="0dp" /> </linearLayout>
但是,当我使用此代码计算数字并填充相同的文本框时,对齐方式会发生变化:
x = -0.123f; text = (TextVIEw)findVIEwByID(R.ID.acc_x); text.setText(String.format("%-8.3f",x)); y = 0.123f; text = (TextVIEw)findVIEwByID(R.ID.acc_y); text.setText(String.format("%-8.3f",y)); z = 99.123f; text = (TextVIEw)findVIEwByID(R.ID.acc_z); text.setText(String.format("%-8.3f",z)); T = 0; text = (TextVIEw)findVIEwByID(R.ID.acc_T); text.setText(String.format("%-8.3f",T));
我该怎么做才能保持小数点的对齐方式?
这是我的build.gradle,如果重要的话:
apply plugin: 'com.androID.application'androID {compileSdkVersion 21buildToolsversion "21.1.2"defaultConfig { applicationID "com.example.app001" minSdkVersion 14 targetSdkVersion 21 versionCode 1 versionname "1.0"}buildTypes { release { MinifyEnabled false proguardfiles getDefaultProguardfile('proguard-androID.txt'), 'proguard-rules.pro' }}}dependencIEs {compile filetree(dir: 'libs', include: ['*.jar'])compile 'com.androID.support:appcompat-v7:21.0.3'compile 'com.androID.support:support-v4:21.0.3'}
解决方法:
您无需更改layout.xml中的任何内容.我运行了这段代码,改变了字符串格式,问题就消失了.
x = -0.123f; text = (TextVIEw)findVIEwByID(R.ID.acc_x); text.setText(String.format("%.3f",x)); y = 0.123f; text = (TextVIEw)findVIEwByID(R.ID.acc_y); text.setText(String.format("%.3f",y)); z = 99.123f; text = (TextVIEw)findVIEwByID(R.ID.acc_z); text.setText(String.format("%.3f",z)); T = 0; text = (TextVIEw)findVIEwByID(R.ID.acc_T); text.setText(String.format("%.3f",T));
总结 以上是内存溢出为你收集整理的java – 如何在android中的小数上对齐这些数字?全部内容,希望文章能够帮你解决java – 如何在android中的小数上对齐这些数字?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)