سؤال

مرحبًا أيها الأصدقاء ، لقد قمت بتعيين تخطيري من خلال tablayout داخل LinearLayout ، لكن لا يزال لا يمكن ضبط الزر في النهاية بشكل صحيح لأن Tablayout يقسم جميع الحقول في عدد الأعمدة ، لذا يمكن لأي شخص أن يساعد في تعيين 2 تخطيطات في ملف XML واحد يعني كل ما الحقول في tableayout والبقاء على حد سواء تسجيل الدخول وتسجيل الأزرار في تخطيط خطي خام بعضها البعض حتى يتمكنوا من ضبطها بشكل صحيح.

شكرا مقدما.

تَخطِيط

اسم المستخدم ! edittextbox

كلمة المرور ! edittextbox

تسجيل الدخول ! يسجل

زر ! زر

أريد تخطيطي بالتنسيق أعلاه ، لذا فقد استخدمت Tableaout ولكن في هذه الحالة ، يتسبب في عرض زر بلدي وكذلك تمدد زر واحد من الآخر لأن EditText أكبر من TextView

 <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:gravity="center_horizontal"
    android:textSize="26sp"
    android:text="@string/login_text"/>
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
    >
    <TableRow>
    <TextView  
        android:layout_width="120px"  
        android:text="User name"
        />
    <EditText
        android:id="@+id/txtUserName"
        android:singleLine="true"
        android:maxLength="20"
        android:width="195px"
    />
    </TableRow>
    <TableRow>
    <TextView  
        android:layout_width="120px"  
        android:text="Password"
        />
    <EditText
        android:id="@+id/txtPassword"
        android:width="195px"
        android:maxLength="20"
        android:singleLine="true"
        android:password="true"
    />
    </TableRow>
    <TableRow>
            <TextView />
            <CheckBox android:id="@+id/chkRememberPassword"
                android:layout_width="fill_parent" 
                android:layout_height="wrap_content"
                android:text="Remember Password"
                />   
        </TableRow>
        <TableRow>
        <Button 
                android:id="@+id/buttonRegister" 
                android:text="Register" 
                android:layout_width="124px"
                android:layout_height="wrap_content"
                android:layout_below="@+id/chkRememberPassword"
                android:layout_alignRight="@+id/chkRememberPassword"
                />
        <Button 
            android:id="@+id/buttonSignIn" 
            android:text="Log In" 
            android:layout_width="124px"
            android:layout_height="wrap_content"
            android:layout_below="@+id/chkRememberPassword"
            android:layout_alignLeft="@+id/chkRememberPassword"
            />        
    </TableRow>

    <TextView  
    android:id="@+id/statusError"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
     />
    </TableLayout>
    </LinearLayout>
هل كانت مفيدة؟

المحلول

أقترح عليك استخدام WRAP_CONTENT في TableLayout ومن ثم يمكنك الحصول على أزرارك في LinearLayout

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
>

نصائح أخرى

لا يمكن تعيين أكثر من تخطيط واحد في ملف XML واحد ... وللسبب نفسه ، لدى Android تخطيطًا ، تخطيطًا ، نوعًا من نظام المجلد ..

ما يمكنك فعله هو كما هو موضح من قبل 100 راب ... اجعل التخطيط عالميًا من خلال تطبيق التخطيط النسبي وملء إعدادات الوالدين ...

وإلا عندما أوضحت ، فأنت بحاجة إلى إنشاء ملفين لتخطيط XML ووضع تخطيط المناظر الطبيعية في مجلد Landout-Landscape ، وبالتالي سيتم تعيين التصميم المعني تلقائيًا وفقًا لتوجيه الهاتف ...

أتمنى أن يساعدك هذا ...

تحتاج إلى إنشاء ملفين XML:

  1. واحد بشكل طبيعي layout مجلد
  2. ثانية في أ res/layout-land لتحديد تخطيط اتجاه المناظر الطبيعية. ستحتاج إلى إنشاء ملف res/layout-land المجلد إذا لم يكن موجودًا بالفعل.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top