我在Android中有一个多行TextView.它是LinearLayout的子代.它已经水平居中,我也希望它内部的文本居中.
这就是我现在拥有的:
_ _ _ _ _ _| aaaaaaaaaaaaaaaaaaaaa
_ _ _ _ _ _| aaaaaaaa
_ _ _ _ _ _| aaaaaaaaaaaaaa
Run Code Online (Sandbox Code Playgroud)
我想要的是:
_ _ _ _ _ _| aaaaaaaaaaaaaaaaaaaaa
_ _ _ _ _ _| aaaaaaaa
_ _ _ _ _ _| aaaaaaaaaaaaaa
Run Code Online (Sandbox Code Playgroud)
哪里:
_ _ _ _ = TextView一侧的空格
| = TextView边缘
android:textAlignment和之间有什么区别android:gravity?
我有一个RelativeLayout(在它之前LinerLayout),占据了所有的屏幕,我想把它放在这个中心Layout,a TextView.我尝试用gravity = "center" layout_gravity = "center"更多的东西来做,但它不起作用.
有谁知道如何TextView在屏幕中间居中?
编辑
好吧,我想我解释得很糟糕.我认为TextView它位于中心,但我想要的中心是文本TextView.我可以这样做吗?
我想创建一个具有自定义背景的TextView.特别是我希望有一个看起来像这样的Text视图.我知道我可以设置TextView的背景android:background="@drawable/displaybackground但是我如何在这个textview中对齐文本.文本应显示在Textview的中心,如上图所示.
亲切的问候
所以我有一个设置,我正在创建自己的视图,我正在添加一些TextViews.但是,重力设置被打破了.(它水平居中,但不是垂直居中)我这样做是因为除了TextView之外我还在其他视图中绘制其他东西,但这些工作正常.TextView引力只有一个问题.这是我所拥有的部分代码.
public class myView extends View {
protected RelativeLayout baseLayout;
protected TextView textView1;
protected TextView textView2;
public myView (Context context) {
super(context);
setLayoutParams(new LayoutParams(FILL_PARENT, FILL_PARENT));
baseLayout = new RelativeLayout(context);
baseLayout.setLayoutParams(new LayoutParams(FILL_PARENT, FILL_PARENT));
textView1 = new TextView(context);
// initialize textView1 string, id, textsize, and color here
textView2 = new TextView(context);
// initialize textView2 string, id, textsize, and color here
baseLayout.addView(textView1);
baseLayout.addView(textView2);
}
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
Resources res = getResources();
// calculate out size and position of both …Run Code Online (Sandbox Code Playgroud) 我有按钮RelativeLayout.高度和宽度不是wrap_content.我注意到文本中Button没有垂直居中.如何在我的代码中修复此问题?
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="40dp"
android:layout_height="40dp"
android:text="<"
android:id="@+id/buttonPreviousDay"
android:layout_alignParentTop="true"
android:layout_toStartOf="@+id/editTextShowDate"
android:layout_marginEnd="10dp"
android:textSize="20dp"
android:background="@drawable/button_shape"
android:textStyle="bold" />
Run Code Online (Sandbox Code Playgroud) 如何在android中的snackbar中将消息文本视图水平居中?
我想将文本设置在textview的中心(垂直和水平).它是垂直水平居中的,它在文本的顶部有更多的空间.
xml布局:
<TextView
android:id="@+id/txtQuantity"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center|center_vertical"
android:text="+"
android:textColor="@color/white"
android:textSize="25sp" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我有一个TextView有财产
android:textAlignment="center"
Run Code Online (Sandbox Code Playgroud)
我正在TextView基于我TextView的XML布局,使用克隆生成另一个dinamically,克隆所有基本属性以便按上述方式工作.
要做到这一点,我需要使用此方法:
this.myTextView.setMyTextViewProperty(MyTextView.getMyTextViewProperty());
Run Code Online (Sandbox Code Playgroud)
例如:
this.MyTextView.setText(MyTextView.getText());
Run Code Online (Sandbox Code Playgroud)
请注意,这
this.MyTextView是一个局部变量,MyTextView是在类名下的文件顶部声明的私有var.
我在所有属性上执行此操作TextView但是当我从TextAlignment属性中点击以下代码行时...:
this.myTextView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
Run Code Online (Sandbox Code Playgroud)
我试图将它设置为自定义Aligment而不是从我的XML获取TextView它给了我一个错误:
11-20 15:27:04.460: E/AndroidRuntime(9185): FATAL EXCEPTION: main
11-20 15:27:04.460: E/AndroidRuntime(9185): java.lang.NoSuchMethodError: android.widget.TextView.setTextAlignment
Run Code Online (Sandbox Code Playgroud)
但我在Ctrl+上Space看到该方法存在,所以我无法理解发生了什么.
第二次尝试是将我的TextView财产设置为来自我的财产TextView:
this.myTextView.setTextAlignment(MyTextView.getTextAlignment());
Run Code Online (Sandbox Code Playgroud)
也没有成功.
TextViewdinamically on theActivity有帮助吗?
android ×9
textview ×6
center ×2
gravity ×2
adt ×1
android-gui ×1
android-xml ×1
background ×1
java ×1
layout ×1
mobile ×1
view ×1