2017-09-29 1 views
1

Dieser Screenshot wird in Eibisch genommenCardview nicht richtig in Geräten niedriger als Lollipop arbeiten

enter image description here

dieser in dieser in Jelly Bean genommen wird das Bild nicht und in den Menüs angezeigt wird der Text nicht sichtbar

enter image description here

ich habe ein Layout mit Cardview als die übergeordneten Ansicht.

Es besteht aus Bildern und Text. nun das Layout funktioniert auf Geräten mit Android M fein und oben, aber in niedrigeren Versionen (wie Jellybean) werden die Bilder nicht properly.They klein gezeigt drehen und nicht um die Karte anschauen Passende voll

Hier ist mein Layout XML-Datei:

<android.support.v7.widget.CardView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="3dp" 
      app:cardPreventCornerOverlap="false" 
      android:elevation="2dp"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:gravity="center_vertical" 
       android:orientation="horizontal"> 

       <android.support.v7.widget.CardView 
        android:layout_width="80dp" 
        android:layout_height="80dp"> 

        <ImageView 
         android:id="@+id/home_news_image" 
         android:layout_width="80dp" 
         android:layout_height="80dp" 
         android:layout_gravity="center_vertical" 
         android:scaleType="centerCrop" 
         android:src="@drawable/jesus" /> 
       </android.support.v7.widget.CardView> 

       <LinearLayout 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_marginLeft="5dp" 
        android:gravity="center_vertical" 
        android:orientation="vertical"> 

        <TextView 
         android:id="@+id/home_title_parish_news" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:layout_marginTop="5dp" 
         android:paddingLeft="1dp" 
         android:text="Christmas Celebration" 
         android:textSize="14dp" 
         android:textStyle="bold" /> 

        <TextView 
         android:id="@+id/home_short_description" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:ellipsize="end" 
         android:maxLines="1" 
         android:padding="3dp" 
         android:text="hi this is to tell thlkdsa asdsag slk sg sdg sdgjs gsd gsg jglsgja gasjggjasg asgjasgj sgjasg g g" 
         android:textSize="12dp" /> 

        <TextView 
         android:id="@+id/home_date_published" 
         android:layout_width="match_parent" 
         android:layout_height="wrap_content" 
         android:layout_marginRight="10dp" 
         android:gravity="right|bottom" 
         android:padding="3dp" 
         android:text="10/10/2010" 
         android:textSize="8dp" /> 
       </LinearLayout> 
      </LinearLayout> 
     </android.support.v7.widget.CardView> 

Dies ist der Adapter, wo ich mein Layout und Ansichten

public class MenuAdapter extends BaseAdapter { 

    Context mContext; 
    ArrayList<MenuModel> list; 
    String img; 


    public MenuAdapter(Context c, ArrayList<MenuModel> list) { 
     mContext = c; 
     this.list = list; 

    } 

    @Override 
    public int getCount() { 
     return list.size(); 
    } 

    @Override 
    public Object getItem(int i) { 
     return i; 
    } 

    @Override 
    public long getItemId(int i) { 
     return i; 
    } 

    @Override 
    public View getView(int i, View view, ViewGroup viewGroup) { 
     View grid; 
     LayoutInflater inflater = (LayoutInflater) mContext 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     if (view == null) { 
      grid = inflater.inflate(R.layout.home_grid_menu, null); 
      TextView textView = (TextView) grid.findViewById(R.id.home_grid_text); 
      ImageView imageView = (ImageView) grid.findViewById(R.id.home_grid_image); 
      textView.setText(list.get(i).getMenuName()); 
      imageView.setImageResource(list.get(i).getMenuImage()); 

     } else { 
      grid = (View) view; 
     } 

     return grid; 
    } 
} 

auch initialisieren, wenn ich einen Text unter einem Bild platzieren Sie den Text nicht sichtbar ist.

Bitte schlagen Sie mir vor, wie Sie vorgehen.

hoffe, dass ich jetzt bin

eine Lösung erhalten wird
+0

beide Bilder anhängen. –

+0

versuchen, cardview in framelayout zu verpacken (addieren Sie zwischen linearem und cardview). – Jimmy

+0

Wo ist Ihr Code, der das Layout initialisiert? – DeKaNszn

Antwort

0

Karte Ansichten richtig beginnen Lutscher funktioniert, haben sie rückwärts Unterstützung aber Rendering ist in der Regel nicht das gleiche.

Für das spezifische Problem Sie bitte die Bilder der beiden Bildschirm befestigen

1

Zuerst Sie hier die Datei aus dem Ordner Assets in Android lesen müssen, ist das Beispiel, wie HTML-Datei von Assets Ordner

InoutInputStream is = getAssets().open("yourfile.html"); 
int size = is.available(); 

byte[] buffer = new byte[size]; 
is.read(buffer); 
is.close(); 
String str = new String(buffer); 

lesen Sie haben die HTML-Datei in der Zeichenfolge, jetzt müssen Sie Text aus der HTML-Datei mit HTML.fromhtml abrufen.

String htmltext=Html.fromHtml(Html.fromHtml(str).toString()) 

Wenn Sie den HTML-Text teilen möchten, dann können Sie den Text mit Android Absicht teilen

Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
    sharingIntent.setType("text/plain"); 
    sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Sharing html Text"); 
    sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, htmltext); 
    startActivity(Intent.createChooser(sharingIntent, "Select")); 
+0

Diese Frage ist nicht über das Öffnen von HTML – DeKaNszn

+0

i denkt, das ist irrelevant für meine Frage @Muhammad Bitte lesen Sie meine Frage sehen Danke für die Antwort – Jeyaseelan

Verwandte Themen