为啥 android 中的 MyTextView 不对齐? [复制]
Posted
技术标签:
【中文标题】为啥 android 中的 MyTextView 不对齐? [复制]【英文标题】:why MyTextView in android isn't aligned to right? [duplicate]为什么 android 中的 MyTextView 不对齐? [复制] 【发布时间】:2013-11-23 04:35:10 【问题描述】:<LinearLayout
android:id="@+id/tipTitleLayout"
android:layout_
android:layout_
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="2dp"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<com.me.view.text.MyTextView
android:id="@+id/tipTitleText"
style="@style/popupTitle"
android:layout_
android:layout_
android:layout_alignParentTop="true"
android:layout_gravity="left"
android:layout_marginLeft="5dp"
android:layout_marginRight="38dp"
android:layout_marginTop="10dp"
android:gravity="left"
android:text="Tip" />
</LinearLayout>
但是当 ltrMode 开启时,我的代码不会改变重力。
我想以编程方式更改它。
怎么来的?
private void setUpforRTL()
if (AppService.getNativeManager().getLanguageRtl())
TextView addText2 = ((TextView)findViewById(R.id.tipText));
addText2.setGravity(Gravity.RIGHT);
TextView title = ((TextView)findViewById(R.id.tipTitleText));
title.setGravity(Gravity.RIGHT);
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)title.getLayoutParams();
params.gravity = Gravity.RIGHT;
title.setLayoutParams(params); //causes layout update
【问题讨论】:
不,另一个是准确的。我更改了 xml 和问题太多次。我将另一个标记为关闭。 您是否尝试过将父级更改为RelativeLayout。 【参考方案1】:更新布局参数后,你应该在周围视图上调用requestLayout
。
【讨论】:
【参考方案2】:试试这个
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tipTitleLayout"
android:layout_
android:layout_
android:gravity="right|center_vertical"
android:padding="10dp"
android:orientation="horizontal" >
<com.me.view.text.MyTextView
android:id="@+id/tipTitleText"
style="@style/popupTitle"
android:layout_
android:layout_
android:text="Tip" />
</LinearLayout>
【讨论】:
你能解释一下吗?我希望它仅在 rtlmode 开启时为 rtl。 它是否有效?【参考方案3】:将标题声明更改为 LinearLayout,因为您在 xml 中将其定义为 LL。
【讨论】:
在哪里?没看懂 为什么是-1? TextView 标题 = ((TextView)findViewById(R.id.tipTitleText)); title.setGravity(Gravity.RIGHT); 还要注意你的 layout.xml。看起来你对重力/layout_gravity 做了很多tipTitleText
不是线性布局。你在哪里看到的?
我的错,抱歉,看到的是tipTitleLayout 而不是tipTitleText。尝试减少 layout/layout_gravity 和 margin 设置。尝试使用没有 LinearLayout 的 Textview。这就是我会尝试的。以上是关于为啥 android 中的 MyTextView 不对齐? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
InflateException:Bin file line #19:Error inflating class MyTextView