我对 textviews/edittexts 中的所有文本都有问题。应用程序进入后台,除了回到我的应用程序之外,我在手机上使用的其他应用程序很少,所有文本(在每个活动上)都消失了。所有文本都在 string.xml 的布局 xml 文件中设置。我在 log cat 中没有任何错误。有什么问题?
谢谢
我对 textviews/edittexts 中的所有文本都有问题。应用程序进入后台,除了回到我的应用程序之外,我在手机上使用的其他应用程序很少,所有文本(在每个活动上)都消失了。所有文本都在 string.xml 的布局 xml 文件中设置。我在 log cat 中没有任何错误。有什么问题?
谢谢
从活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.information);
String versionName = null;
try {
versionName = getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
} catch (NameNotFoundException e) {
e.printStackTrace();
}
if(versionName != null) {
ResizableTextView versionNumberView = (ResizableTextView) findViewById(R.id.information_version_number);
versionNumberView.setText(version);
}
}
在清单中:
<activity
android:name="pl.sf.mobile.activities.InformationActivity"
android:screenOrientation="portrait" >
</activity>
布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg1"
android:orientation="vertical"
android:weightSum="90" >
<include
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="10"
layout="@layout/title_bar" />
<LinearLayout
android:id="@+id/information_version"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="10"
android:background="@color/gray_light"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="100" >
<pl.sf.mobile.components.ResizableTextView
android:id="@+id/information_version"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="75"
android:gravity="center_vertical"
android:text="@string/version"
android:textColor="@color/black"
android:textSize="23px"
android:textStyle="bold" />
<pl.sf.mobile.components.ResizableTextView
android:id="@+id/information_version_number"
android:layout_width="0dp"
android:layout_height="fill_parent"
android:layout_weight="15"
android:gravity="center"
android:orientation="vertical"
android:textColor="@color/black"
android:textSize="23px"
android:textStyle="bold"
android:visibility="visible" />
</LinearLayout>
</LinearLayout>
可调整大小的TextView
public class ResizableTextView extends TextView {
private float sizeF = 0;
public ResizableTextView(Context context) {
super(context);
resizeTextFont();
}
public ResizableTextView(Context context, AttributeSet attrs) {
super(context, attrs);
resizeTextFont();
}
public ResizableTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
resizeTextFont();
}
private void resizeTextFont() {
if (sizeF == 0)
sizeF = getTextSize();
float newSize = sizeF * Params.SCALED_WIDTH;
setTextSize(TypedValue.COMPLEX_UNIT_PX, newSize);
invalidate();
}
}
请分享您正在使用的代码。描述非常简短。顺便说一句,您可以查看此链接如何在方向更改时使用 onSaveInstanceState 和 onRestoreInstanceState 保存状态