2015-09-09 47 views
1

我只想顯示編輯文本的底線,但我找不到任何教程或某些內容來幫助我。你能幫我做嗎?編輯文本 - 只顯示底線

這裏是一個圖片,展示我真正想做的事:

enter image description here

-

這裏是我的activity_signin代碼:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@color/bg_login" 
    android:gravity="center" 
    android:orientation="vertical" 
    android:padding="10dp" > 

    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:orientation="vertical" 
     android:paddingLeft="20dp" 
     android:paddingRight="20dp" > 

     <EditText 
      android:id="@+id/email" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="10dp" 
      android:hint="@string/hint_email" 
      android:inputType="textEmailAddress" 
      android:padding="10dp" 
      android:singleLine="true" 
      android:textColor="@color/input_login" 
      android:textColorHint="@color/input_login_hint" 
      android:background="@android:color/transparent" 
      /> 

     <!--android:background="@color/white"--> 

     <EditText 
      android:id="@+id/password" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="10dp" 
      android:hint="@string/hint_password" 
      android:inputType="textPassword" 
      android:padding="10dp" 
      android:singleLine="true" 
      android:textColor="@color/input_login" 
      android:textColorHint="@color/input_login_hint" 
      android:background="@android:color/transparent" 

      /> 

     <!-- Login Button --> 

     <Button 
      android:id="@+id/btnLogin" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="20dip" 
      android:background="@color/btn_login_bg" 
      android:text="@string/btn_login" 
      android:textColor="@color/btn_login" /> 

     <!-- Link to Login Screen --> 

     <Button 
      android:id="@+id/btnLinkRegScreen" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="40dip" 
      android:background="@null" 
      android:text="@string/btn_link_to_register" 
      android:textAllCaps="false" 
      android:textColor="@color/white" 
      android:textSize="15dp" /> 
    </LinearLayout> 

</LinearLayout> 

這裏是我的SigninActivity代碼:

public class SigninActivity extends Activity { 

private ProgressDialog pDialog; 

JsonParser jsonParser = new JsonParser(); 

EditText email; 
EditText password; 

private static final String TAG_SUCCESS = "success"; 

// Session Manager Class 
SessionManager session; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.activity_signin); 

    // Session Manager 
    session = new SessionManager(getApplicationContext()); 

    // Edit Text 
    email = (EditText) findViewById(R.id.email); 
    password = (EditText) findViewById(R.id.password); 

    //Button 
    Button btnLogin = (Button) findViewById(R.id.btnLogin); 
    Button btnLinkRegScreen = (Button) findViewById(R.id.btnLinkRegScreen); 

謝謝!

+0

你能發表一些你的代碼嗎?順便說一句默認的edittext顯示如上... – Nic

+0

@nicholas編輯。我認爲現在好了,告訴我你是否想要更多東西。 Thx爲你提供幫助。 – Alan

+0

您的editText背景不應該透明。你刪除它應該能夠看到底線。 – Nic

回答

0

要顯示來自一個EditText只底線我需要刪除的背景屬性:android:background="@android:color/transparent"

這是我EditTexts代碼:

<EditText 
      android:id="@+id/email" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="10dp" 
      android:hint="@string/hint_email" 
      android:inputType="textEmailAddress" 
      android:padding="10dp" 
      android:singleLine="true" 
      android:textColor="@color/input_login" 
      android:textColorHint="@color/input_login_hint" 
      /> 

    <EditText 
      android:id="@+id/password" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="10dp" 
      android:hint="@string/hint_password" 
      android:inputType="textPassword" 
      android:padding="10dp" 
      android:singleLine="true" 
      android:textColor="@color/input_login" 
      android:textColorHint="@color/input_login_hint" 
      /> 

的代碼的其餘部分仍然是相同的。

謝謝大家的幫助。

+0

兩天來接受我自己的答案。 – Alan

1

嘗試從AppCompatActivity擴展Activity,而不是Activity。之後,您需要將您在此活動中使用的主題更改爲擁有AppCompat父級,如此一個Theme.AppCompat.Light.DarkActionBar。然後只需使用一個正常的EditText,它應該做的伎倆。

+0

該應用程序崩潰。我應該改變更多的東西嗎? – Alan

+0

logcat說什麼? –

+0

'java.lang。RuntimeException:無法啓動活動ComponentInfo {com.podchest.podchest/com.podchest.podchest.SigninActivity}:android.view.InflateException:二進制XML文件行#32:錯誤膨脹類android.support.v7.widget.AppCompatEditText' – Alan

0

我相信馬特烏斯的答案給予正確
但這裏是複製你的代碼,並嘗試工作正常,如果我去除背景...

這是你的結果。

Your Result

如下面的代碼: - 佈局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" 
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:gravity="center" 
android:orientation="vertical" 
tools:context=".MainActivity"> 

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    android:orientation="vertical" 
    android:paddingLeft="20dp" 
    android:paddingRight="20dp" > 

    <EditText 
     android:id="@+id/email" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="10dp" 
     android:hint="[email protected]" 
     android:inputType="textEmailAddress" 
     android:padding="10dp" 
     android:singleLine="true" 
     android:textColor="@android:color/black" 
     android:textColorHint="@android:color/darker_gray" 
     /> 

    <!--android:background="@color/white"--> 

    <EditText 
     android:id="@+id/password" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="10dp" 
     android:hint="***********" 
     android:inputType="textPassword" 
     android:padding="10dp" 
     android:singleLine="true" 
     android:textColor="@android:color/black" 
     android:textColorHint="@android:color/darker_gray" 
     /> 

    <!-- Login Button --> 

    <Button 
     android:id="@+id/btnLogin" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="20dip" 
     android:background="@android:color/holo_green_light" 
     android:text="Login" 
     android:textColor="@android:color/black" /> 

    <!-- Link to Login Screen --> 

    <Button 
     android:id="@+id/btnLinkRegScreen" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="40dip" 
     android:background="@android:color/holo_green_light" 
     android:text="Register" 
     android:textAllCaps="false" 
     android:textColor="@android:color/black" 
     android:textSize="15dp" /> 
</LinearLayout> 

的Java

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 
+0

爲什麼我不能擴展AppCompatActivity?我在我的build.gradle:編譯'com.android.support:appcompat-v7:22.0.0' – Alan

+0

什麼是錯誤?並將其導入到java文件中? import android.support.v7.app.AppCompatActivity; – Nic

+0

我沒有選擇擴展AppCompatActivity。它只顯示我'AppCompatPopupWindow'進行擴展。我應該輸入什麼? – Alan

0

試試這個。您可以根據自己的需要向右或向左調整視圖。對於這種情況,我們可以將圖像而不是默認行,或者我們可以將視圖作爲一行。

<EditText 
     android:id="@+id/email" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:hint="@string/hint_email" 
     android:inputType="textEmailAddress" 
     android:padding="10dp" 
     android:singleLine="true" 
     android:textColor="@color/input_login" 
     android:textColorHint="@color/input_login_hint" 
     android:background="@null" 
     /> 
    <View android:layout_width="300dp" 
     android:layout_height="1dp" 
     android:layout_marginLeft="15dp" 
     android:background="@android:color/black"/> 
    <!--android:background="@color/white"--> 

    <EditText 
     android:id="@+id/password" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:hint="@string/hint_password" 
     android:inputType="textPassword" 
     android:padding="10dp" 
     android:singleLine="true" 
     android:textColor="@color/input_login" 
     android:textColorHint="@color/input_login_hint" 
     android:background="@null" 
     /> 
    <View android:layout_width="300dp" 
     android:layout_height="1dp" 
     android:layout_marginLeft="15dp" 
     android:background="@android:color/black"/>